gpt4 book ai didi

javascript - 从 Chrome 扩展代码中清除多功能框

转载 作者:行者123 更新时间:2023-12-03 08:59:37 26 4
gpt4 key购买 nike

我编写了一个 Chrome 扩展程序,如果用户需要的话,它可以替换新标签页。。它的工作原理是拦截 tabs.onUpdated 并将 chrome://newtab/ 从扩展程序重定向到另一个页面,如 in this answer 所述。 .

问题是该页面的地址栏在扩展中保留了 HTML 的(丑陋的)URL,例如chrome-extension://hibkhcnpkakjniplpfblaoikigg​​kopka/html/newtabl.html。如何将该 URL 替换为空字符串?

我尝试过history.replaceState,但最好的办法就是更改路径中的文件(newtab.html)。使用 http://URL 会使扩展程序崩溃:

history.replaceState({}, 'iDoRecall practice', 'http://type-anything-here.com');

有什么巧妙的方法来清除多功能框吗?

最佳答案

简单来说,History API出于防止网站欺诈的明显原因,只能更改 URL 的路径部分,而不能更改源 (protocol://host:port):

If the origin of the resulting absolute URL is not the same as the origin of the responsible document specified by the entry settings object, and either the path or query components of the two parsed URLs compared in the previous step differ, throw a SecurityError exception and abort these steps. (This prevents sandboxed content from spoofing other pages on the same origin.)

多功能框仅在一种情况下可能为空:在新标签页上,即您必须将manifest.json中的新标签替换为chrome_url_overrides .

关于javascript - 从 Chrome 扩展代码中清除多功能框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350400/

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