Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Create note that voice dictation functionality is restored as of mobile client v2.8.4

...

Code Block
languagejs
linenumberstrue
window.addEventListener('click', function (e) {
  if (e && e.target && e.target.nodeName == 'A') {
    var click = e.target;
    if (click.href && click.target == '_blank' || click.target == '_system') {
      e.preventDefault();
      window.open(click.href, '_system');
    }
  }
}, false);
//# sourceURL=clickPatch.js


LineDescription
1

Add a "click" event listener to intercept every click made on the screen.

2

Filter out clicks to everything except anchor tags (hyperlinks).

3

Define the click variable for convenience and readability.

4

Only continue if the hyperlink has a URL associated with it and the target is something that should open in a new window/tab. Note that this is sample code and you will likely want to tailor this part to fit your needs. In this case, it was determined that other targets should open inside the mobile client's WebView. Note also that the target of _system is used by the in-app-browser Cordova plugin to denote a URL that should open in the system browser.

5

Prevent the click event from continuing, as it is being handled here. Without this statement the URL will be opened in both the system browser and the WebView.

6Open the desired URL in the system web browser – the "in-app-browser" plugin included with the Profound UI mobile client overrides window.open() and causes URLs with a target of _system to open in the system web browser.
10The sourceURL directive makes it easier to debug embedded code by making it appear as if the code was loaded from a file. In this example, this event code will appear in the developer tools as if it was contained in file clickPatch.js. This more easily allows breakpoints to be added and code to be inspected.


Voice dictation (iOS only)

...

Sample code: voiceDictation.js

Note: As of Mobile Client version 2.8.4, voice dictation functionality has been restored and the work around listed in this section is no longer needed.