【发布时间】:2015-01-07 04:31:39
【问题描述】:
我可以通过以下方式访问 Chrome 应用 Webview HTML:
webview.executeScript(
{code: 'document.documentElement.innerHTML'},
function(results) {
// results[0] would have the webview's innerHTML.
});
但我想像这样在 Guest 中获取全局变量的值:
webview.executeScript(
{code: 'window.globalVar'},
function(results) {
// results[0] should have the webview's value of "globalVar".
});
我该怎么做?
【问题讨论】:
-
感谢 Xan,您建议的链接上有很多内容。很难弄清楚它是否适用于当前的“Chrome App Webviews”。看来我可能缺少 manifest.json 中的配置,但从那里开始,我仍然迷路了。另一篇文章是关于 Chrome 扩展的,我不确定有多少适用于 Chrome 应用程序,它将在 Cordova 中运行。
-
重点是,
window页面对象和内容脚本是隔离的。它是否是 webview 并不重要。但是您可以通过注入页面级脚本来访问“真实的”window。 -
明确一点,我面临的挑战是从客人那里获取数据。我可以注入一个脚本并让它与来宾上的数据交互,但使用简单的“返回 window.globalVar”不会将数据发送回主机。我想知道我是否应该改用“消息传递”?
-
对.. 让我找到一个问题。 stackoverflow.com/a/26740141/934239
标签: javascript google-chrome webview google-chrome-app cordova-chrome-app