如何使用 Cordova 的 InAppBrowser 将 HTML 注入页面
How to inject HTML to page with Cordova's InAppBrowser
我在 InAppBrowser 中 运行ning 单页网络应用程序。我想将 HTML 属性注入到某些 HTML 元素中。例如将所有 h1 更改为 h2。
我知道我可以使用 executeScript 方法来完成这样的短任务:
win.executeScript({ code: "console.log( 'hello' );" })
有谁知道使用 executeScript 方法 运行 更长脚本的最佳方法是什么,以及如何确保它 运行 加载所有内容后?
如果您想注入大量代码,您应该使用 js 文件而不是仅使用代码字符串。要从 .js 文件注入代码并确保页面已加载,您必须 运行 在调用 loadstop 事件时执行脚本,如下所示:
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank');
ref.addEventListener('loadstop', function() {
ref.executeScript({file: "http://www.yourwebsite.com/myscript.js"});
});
file
如果加载外部网站必须是外部js,但如果加载本地html文件
可以是本地js
我在 InAppBrowser 中 运行ning 单页网络应用程序。我想将 HTML 属性注入到某些 HTML 元素中。例如将所有 h1 更改为 h2。
我知道我可以使用 executeScript 方法来完成这样的短任务:
win.executeScript({ code: "console.log( 'hello' );" })
有谁知道使用 executeScript 方法 运行 更长脚本的最佳方法是什么,以及如何确保它 运行 加载所有内容后?
如果您想注入大量代码,您应该使用 js 文件而不是仅使用代码字符串。要从 .js 文件注入代码并确保页面已加载,您必须 运行 在调用 loadstop 事件时执行脚本,如下所示:
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank');
ref.addEventListener('loadstop', function() {
ref.executeScript({file: "http://www.yourwebsite.com/myscript.js"});
});
file
如果加载外部网站必须是外部js,但如果加载本地html文件