Latest commit

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kunder-cordova-plugin-webview

This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.

It's possible to modify this plugin to allow multiple webviews.

Report issues on github issue tracker

Installation

 cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git

Supported Platforms

  • Android
  • iOS

Quick Start

To open a new webview, just call in your app's js:

webview.Show(URL);

Where URL is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/ But only if no *:// or javascript: is present at the front of the URL.

Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):

webview.Close();

This will close and destroy the second webview.

webView

The webViewobject provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.

The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.

Methods

  • Show: Opens a new webView
  • Close: Close and destroy the webView
  • Hide: Same as Close
  • SubscribeCallback: Suscribes a callback that is fired when webView is closed

Show

Parameters:

  • url: The url to be opened. In Android, if the url does not contain a protocol prefix (*:// or javascript:*), the prefix file:///android_asset/www/ will be automatically added. (String)
  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • loading: Should show a loading dialog while webview is loading. (Boolean optional)

SubscribeCallback

Suscribes a callback that is triggered when a webView is closed.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)

Usage

// Main webview// This will be fired on second webview closewebview.SubscribeCallback(function(params){console.log(params);},function(){console.log('error');})

Close/Hide

Parameters:

  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)

HideLoading

Close the loading shown by Show method.

Parameters:

  • successCallback: The callback that will be called when the loading is closed. (Function optional)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)

SubscribeExitCallback (Android only)

Subscribes an exit callback that is triggered when ExitApp method is called.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)

ExitApp (Android)

This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.

ExitApp (iOS)

This method execute objective-C exit(0) method.

SetWebViewBehavior (iOS)

This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.

Other

Cordova Crypt File Plugin compatibility

This plugin is compatible with Cordova Crypt File Plugin. It will detect it automatically and will use decrypted assets files. For more information about Crypt File Plugin, please visit the plugin repo.

About

This cordova plugin enables you to open a second webview

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kunder-cordova-plugin-webview

This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.

It's possible to modify this plugin to allow multiple webviews.

Report issues on github issue tracker

Installation

 cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git

Supported Platforms

  • Android
  • iOS

Quick Start

To open a new webview, just call in your app's js:

webview.Show(URL);

Where URL is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/ But only if no *:// or javascript: is present at the front of the URL.

Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):

webview.Close();

This will close and destroy the second webview.

webView

The webViewobject provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.

The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.

Methods

  • Show: Opens a new webView
  • Close: Close and destroy the webView
  • Hide: Same as Close
  • SubscribeCallback: Suscribes a callback that is fired when webView is closed

Show

Parameters:

  • url: The url to be opened. In Android, if the url does not contain a protocol prefix (*:// or javascript:*), the prefix file:///android_asset/www/ will be automatically added. (String)
  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • loading: Should show a loading dialog while webview is loading. (Boolean optional)

SubscribeCallback

Suscribes a callback that is triggered when a webView is closed.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)

Usage

// Main webview// This will be fired on second webview closewebview.SubscribeCallback(function(params){console.log(params);},function(){console.log('error');})

Close/Hide

Parameters:

  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)

HideLoading

Close the loading shown by Show method.

Parameters:

  • successCallback: The callback that will be called when the loading is closed. (Function optional)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)

SubscribeExitCallback (Android only)

Subscribes an exit callback that is triggered when ExitApp method is called.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)

ExitApp (Android)

This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.

ExitApp (iOS)

This method execute objective-C exit(0) method.

SetWebViewBehavior (iOS)

This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.

Other

Cordova Crypt File Plugin compatibility

This plugin is compatible with Cordova Crypt File Plugin. It will detect it automatically and will use decrypted assets files. For more information about Crypt File Plugin, please visit the plugin repo.

About

This cordova plugin enables you to open a second webview

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kunder-cordova-plugin-webview

This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.

It's possible to modify this plugin to allow multiple webviews.

Report issues on github issue tracker

Installation

 cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git

Supported Platforms

  • Android
  • iOS

Quick Start

To open a new webview, just call in your app's js:

webview.Show(URL);

Where URL is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/ But only if no *:// or javascript: is present at the front of the URL.

Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):

webview.Close();

This will close and destroy the second webview.

webView

The webViewobject provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.

The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.

Methods

  • Show: Opens a new webView
  • Close: Close and destroy the webView
  • Hide: Same as Close
  • SubscribeCallback: Suscribes a callback that is fired when webView is closed

Show

Parameters:

  • url: The url to be opened. In Android, if the url does not contain a protocol prefix (*:// or javascript:*), the prefix file:///android_asset/www/ will be automatically added. (String)
  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • loading: Should show a loading dialog while webview is loading. (Boolean optional)

SubscribeCallback

Suscribes a callback that is triggered when a webView is closed.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)

Usage

// Main webview// This will be fired on second webview closewebview.SubscribeCallback(function(params){console.log(params);},function(){console.log('error');})

Close/Hide

Parameters:

  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)

HideLoading

Close the loading shown by Show method.

Parameters:

  • successCallback: The callback that will be called when the loading is closed. (Function optional)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)

SubscribeExitCallback (Android only)

Subscribes an exit callback that is triggered when ExitApp method is called.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)

ExitApp (Android)

This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.

ExitApp (iOS)

This method execute objective-C exit(0) method.

SetWebViewBehavior (iOS)

This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.

Other

Cordova Crypt File Plugin compatibility

This plugin is compatible with Cordova Crypt File Plugin. It will detect it automatically and will use decrypted assets files. For more information about Crypt File Plugin, please visit the plugin repo.

About

This cordova plugin enables you to open a second webview

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kunder-cordova-plugin-webview

This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.

It's possible to modify this plugin to allow multiple webviews.

Report issues on github issue tracker

Installation

 cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git

Supported Platforms

  • Android
  • iOS

Quick Start

To open a new webview, just call in your app's js:

webview.Show(URL);

Where URL is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/ But only if no *:// or javascript: is present at the front of the URL.

Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):

webview.Close();

This will close and destroy the second webview.

webView

The webViewobject provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.

The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.

Methods

  • Show: Opens a new webView
  • Close: Close and destroy the webView
  • Hide: Same as Close
  • SubscribeCallback: Suscribes a callback that is fired when webView is closed

Show

Parameters:

  • url: The url to be opened. In Android, if the url does not contain a protocol prefix (*:// or javascript:*), the prefix file:///android_asset/www/ will be automatically added. (String)
  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • loading: Should show a loading dialog while webview is loading. (Boolean optional)

SubscribeCallback

Suscribes a callback that is triggered when a webView is closed.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)

Usage

// Main webview// This will be fired on second webview closewebview.SubscribeCallback(function(params){console.log(params);},function(){console.log('error');})

Close/Hide

Parameters:

  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)

HideLoading

Close the loading shown by Show method.

Parameters:

  • successCallback: The callback that will be called when the loading is closed. (Function optional)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)

SubscribeExitCallback (Android only)

Subscribes an exit callback that is triggered when ExitApp method is called.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)

ExitApp (Android)

This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.

ExitApp (iOS)

This method execute objective-C exit(0) method.

SetWebViewBehavior (iOS)

This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.

Other

Cordova Crypt File Plugin compatibility

This plugin is compatible with Cordova Crypt File Plugin. It will detect it automatically and will use decrypted assets files. For more information about Crypt File Plugin, please visit the plugin repo.

About

This cordova plugin enables you to open a second webview

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kunder-cordova-plugin-webview

This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.

It's possible to modify this plugin to allow multiple webviews.

Report issues on github issue tracker

Installation

 cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git

Supported Platforms

  • Android
  • iOS

Quick Start

To open a new webview, just call in your app's js:

webview.Show(URL);

Where URL is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/ But only if no *:// or javascript: is present at the front of the URL.

Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):

webview.Close();

This will close and destroy the second webview.

webView

The webViewobject provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.

The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.

Methods

  • Show: Opens a new webView
  • Close: Close and destroy the webView
  • Hide: Same as Close
  • SubscribeCallback: Suscribes a callback that is fired when webView is closed

Show

Parameters:

  • url: The url to be opened. In Android, if the url does not contain a protocol prefix (*:// or javascript:*), the prefix file:///android_asset/www/ will be automatically added. (String)
  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • loading: Should show a loading dialog while webview is loading. (Boolean optional)

SubscribeCallback

Suscribes a callback that is triggered when a webView is closed.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)

Usage

// Main webview// This will be fired on second webview closewebview.SubscribeCallback(function(params){console.log(params);},function(){console.log('error');})

Close/Hide

Parameters:

  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)

HideLoading

Close the loading shown by Show method.

Parameters:

  • successCallback: The callback that will be called when the loading is closed. (Function optional)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)

SubscribeExitCallback (Android only)

Subscribes an exit callback that is triggered when ExitApp method is called.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)

ExitApp (Android)

This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.

ExitApp (iOS)

This method execute objective-C exit(0) method.

SetWebViewBehavior (iOS)

This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.

Other

Cordova Crypt File Plugin compatibility

This plugin is compatible with Cordova Crypt File Plugin. It will detect it automatically and will use decrypted assets files. For more information about Crypt File Plugin, please visit the plugin repo.

About

This cordova plugin enables you to open a second webview

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kunder-cordova-plugin-webview

This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.

It's possible to modify this plugin to allow multiple webviews.

Report issues on github issue tracker

Installation

 cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git

Supported Platforms

  • Android
  • iOS

Quick Start

To open a new webview, just call in your app's js:

webview.Show(URL);

Where URL is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/ But only if no *:// or javascript: is present at the front of the URL.

Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):

webview.Close();

This will close and destroy the second webview.

webView

The webViewobject provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.

The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.

Methods

  • Show: Opens a new webView
  • Close: Close and destroy the webView
  • Hide: Same as Close
  • SubscribeCallback: Suscribes a callback that is fired when webView is closed

Show

Parameters:

  • url: The url to be opened. In Android, if the url does not contain a protocol prefix (*:// or javascript:*), the prefix file:///android_asset/www/ will be automatically added. (String)
  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • loading: Should show a loading dialog while webview is loading. (Boolean optional)

SubscribeCallback

Suscribes a callback that is triggered when a webView is closed.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)

Usage

// Main webview// This will be fired on second webview closewebview.SubscribeCallback(function(params){console.log(params);},function(){console.log('error');})

Close/Hide

Parameters:

  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)

HideLoading

Close the loading shown by Show method.

Parameters:

  • successCallback: The callback that will be called when the loading is closed. (Function optional)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)

SubscribeExitCallback (Android only)

Subscribes an exit callback that is triggered when ExitApp method is called.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)

ExitApp (Android)

This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.

ExitApp (iOS)

This method execute objective-C exit(0) method.

SetWebViewBehavior (iOS)

This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.

Other

Cordova Crypt File Plugin compatibility

This plugin is compatible with Cordova Crypt File Plugin. It will detect it automatically and will use decrypted assets files. For more information about Crypt File Plugin, please visit the plugin repo.

About

This cordova plugin enables you to open a second webview

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kunder-cordova-plugin-webview

This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.

It's possible to modify this plugin to allow multiple webviews.

Report issues on github issue tracker

Installation

 cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git

Supported Platforms

  • Android
  • iOS

Quick Start

To open a new webview, just call in your app's js:

webview.Show(URL);

Where URL is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/ But only if no *:// or javascript: is present at the front of the URL.

Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):

webview.Close();

This will close and destroy the second webview.

webView

The webViewobject provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.

The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.

Methods

  • Show: Opens a new webView
  • Close: Close and destroy the webView
  • Hide: Same as Close
  • SubscribeCallback: Suscribes a callback that is fired when webView is closed

Show

Parameters:

  • url: The url to be opened. In Android, if the url does not contain a protocol prefix (*:// or javascript:*), the prefix file:///android_asset/www/ will be automatically added. (String)
  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • loading: Should show a loading dialog while webview is loading. (Boolean optional)

SubscribeCallback

Suscribes a callback that is triggered when a webView is closed.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)

Usage

// Main webview// This will be fired on second webview closewebview.SubscribeCallback(function(params){console.log(params);},function(){console.log('error');})

Close/Hide

Parameters:

  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)

HideLoading

Close the loading shown by Show method.

Parameters:

  • successCallback: The callback that will be called when the loading is closed. (Function optional)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)

SubscribeExitCallback (Android only)

Subscribes an exit callback that is triggered when ExitApp method is called.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)

ExitApp (Android)

This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.

ExitApp (iOS)

This method execute objective-C exit(0) method.

SetWebViewBehavior (iOS)

This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.

Other

Cordova Crypt File Plugin compatibility

This plugin is compatible with Cordova Crypt File Plugin. It will detect it automatically and will use decrypted assets files. For more information about Crypt File Plugin, please visit the plugin repo.

About

This cordova plugin enables you to open a second webview

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

kunder-cordova-plugin-webview

This cordova plugin enables you to open a second webview in your app. This webview is totally independent from the main webview, but allows you tu access plugins and other Cordova resources.

It's possible to modify this plugin to allow multiple webviews.

Report issues on github issue tracker

Installation

 cordova plugin add https://github.com/kunder-lab/cl.kunder.webview.git

Supported Platforms

  • Android
  • iOS

Quick Start

To open a new webview, just call in your app's js:

webview.Show(URL);

Where URL is the path to the page to be opened. In Android, the plugin automatically adds the prefix file:///android_asset/www/ But only if no *:// or javascript: is present at the front of the URL.

Then, to close the second webview and return to the main view, call in your second webview (the opened webview, not the main webview):

webview.Close();

This will close and destroy the second webview.

webView

The webViewobject provides a way to manage a second webview inside your cordova app. This could be usefull if you want to open a second page as a popup or you want to load new content that is totally unrelated to the main view, but still have the ability to use cordova plugins.

The main difference with inAppBrowser plugin is that cl.kunder.webview plugin can access and use all cordova plguins installed in your app.

Methods

  • Show: Opens a new webView
  • Close: Close and destroy the webView
  • Hide: Same as Close
  • SubscribeCallback: Suscribes a callback that is fired when webView is closed

Show

Parameters:

  • url: The url to be opened. In Android, if the url does not contain a protocol prefix (*:// or javascript:*), the prefix file:///android_asset/www/ will be automatically added. (String)
  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • loading: Should show a loading dialog while webview is loading. (Boolean optional)

SubscribeCallback

Suscribes a callback that is triggered when a webView is closed.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. It contains an array of parameteres given by the Close/Hide method called in the child webview. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)

Usage

// Main webview// This will be fired on second webview closewebview.SubscribeCallback(function(params){console.log(params);},function(){console.log('error');})

Close/Hide

Parameters:

  • successCallback: Is triggered when the plugin is succesfully called. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function)
  • params: Parameterers that want to be delivered to the parent webview through the SubscribeCallback method. (Array)

HideLoading

Close the loading shown by Show method.

Parameters:

  • successCallback: The callback that will be called when the loading is closed. (Function optional)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. (Function optional)

SubscribeExitCallback (Android only)

Subscribes an exit callback that is triggered when ExitApp method is called.

Parameters:

  • successCallback: The callback that will be called when a webview is closed. (Function)
  • errorCallback: Is triggered when the plugin fails to be called or is called with error. This can be empty function (Function)

ExitApp (Android)

This method execute the subscribed exit callback if exist. Then close the webview. This method is usefull when onResume event is defined in your main app. You should set a flag in subscribeExitCallback success method. Then in onResume event you should verify the flag value. Finally the main app should call ionic.Platform.exitApp() method to close the app.

ExitApp (iOS)

This method execute objective-C exit(0) method.

SetWebViewBehavior (iOS)

This method adjust the size of the current webview using the iOS 11 status bar space. This method should be called at the beginning of the app. No parameters required.

Other

Cordova Crypt File Plugin compatibility

This plugin is compatible with Cordova Crypt File Plugin. It will detect it automatically and will use decrypted assets files. For more information about Crypt File Plugin, please visit the plugin repo.

About

This cordova plugin enables you to open a second webview

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages