gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:44:44 26 4
gpt4 key购买 nike

使用 Chrome://inspect 并转到 Chrome 应用程序,然后使用 chrome 开发工具获取代码片段,您可以使用以下代码从 webview 检查 src 属性,如果它已更改则重定向。例如,当应用程序在自动重定向和设置时间段的公共(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 代码的最佳位置在哪里?有没有人举个例子。

到目前为止我尝试了什么:

  • 内联?如果是这样,那么最好的方法是什么作为关于更新 list 文件允许“不安全内联”的错误消息。但是,我了解到存在与此相关的安全问题。

  • 应用程序中的一个 js 文件 - 我试过了,但我无法在 chrome 开发工具中找到要调试的文件,而且它没有用。 Console.log 也不起作用。如何从 Chrome 应用程序中调试 JS 文件?

  • 来自带有随机数的服务器的 js 文件?我试着按照 http://www.w3.org/TR/2015/CR-CSP2-20150721/#script-src-nonce-usage 上的说明进行操作但无法让它工作。有没有人有例子?

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

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

最佳答案

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

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

对于检查/调试应用程序,您需要附加到应用程序窗口,而不是后台/事件页面。有 2 个有用的工具:

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

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

关于javascript - 在 Chrome App Webview 中检测和更改 src 的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34246171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com