在 Chrome App Webview 中检测和更改 src 的 URL

Detecting and changing URL of src in Chrome App Webview

使用 Chrome://inspect 并转到 Chrome 应用程序,然后使用 chrome 开发工具获取代码片段,您可以使用以下代码检查 src 属性一个 webview 并重定向(如果它已被更改)。例如,当应用程序在自动重定向的 public wifi 上 运行 和设定的时间段时,可能会发生这种情况。我希望能够检查重定向的 URL 并将其改回。

    setInterval(function(){
        var x = document.getElementsByTagName("webview")[0].getAttribute("src"); //get current domain

//pseudo code - check if x matches a domain...

        document.getElementsByTagName("webview")[0].setAttribute("src","Your URL here"); //set webview to domain
    },5000);

放置此 Javascript 代码的最佳位置在哪里?有没有人有例子。

到目前为止我尝试过的:

此外,是否有任何合适的事件侦听器可以替代使用?我认为可以使用 webview loadRedirect 事件。如果是这样,我应该把这段代码放在哪里?

https://developer.chrome.com/apps/tags/webview#event-loadredirect

<webview> 元素交互的代码应该 运行 在与该元素相同的文档中。因此,假设该页面是 app.html,您需要在其中包含一个脚本。

内联代码 will not work in a Chrome App,句点。您应该添加一个单独的本地 .js 文件并使用 <script> 元素引用它。

至于检查/调试应用程序,您需要附加到应用程序 window,而不是 background/event 页面。有 2 个有用的工具:

  1. 页面 chrome://inspect/#apps 将列出所有应用程序 windows,您可以从那里附加开发工具。

  2. 您可以设置一个 Chrome 标志以在 Chrome 应用程序 windows、chrome://flags/#debug-packed-apps 上使用 Inspect 启用上下文菜单,如果您希望这样做经常。