Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么window.location.href不能在错误页面上工作?_Javascript_Html_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 为什么window.location.href不能在错误页面上工作?

Javascript 为什么window.location.href不能在错误页面上工作?,javascript,html,google-chrome,google-chrome-extension,Javascript,Html,Google Chrome,Google Chrome Extension,我正在开发一个GoogleChrome扩展,如果用户访问一个不存在的站点,比如thiswebsitedoesnotexist.com,我希望扩展将他们重定向到我专门设置的另一个页面。我说的不是给出404错误的站点。我的意思是那些DNS服务器地址找不到的网站,所以谷歌浏览器会给你它的标准错误页面 我尝试使用window.location.href=*link*,但这并没有改变网页。我怎样才能避开这件事?提前谢谢 为什么window.location.href不能在错误页面上工作 因为,事实上,尽管

我正在开发一个GoogleChrome扩展,如果用户访问一个不存在的站点,比如thiswebsitedoesnotexist.com,我希望扩展将他们重定向到我专门设置的另一个页面。我说的不是给出404错误的站点。我的意思是那些DNS服务器地址找不到的网站,所以谷歌浏览器会给你它的标准错误页面

我尝试使用window.location.href=*link*,但这并没有改变网页。我怎样才能避开这件事?提前谢谢

为什么window.location.href不能在错误页面上工作

因为,事实上,尽管地址栏显示了预期的地址,但您看到的是一个包含内部错误页面的data:URL的文档。您可以通过检查错误页面中的window.location,使用DevTools验证这一点

数据:URL:主机权限不允许将内容脚本注入URL

因此,尝试以编程方式插入更改window.location.href或does console.log的内容脚本将因缺少权限而失败,并且清单中的for content脚本将不适用

我怎样才能避开这件事

您可以从后台页面使用chrome.tabs.update来导航离开错误页面


要在后台页面中检测此类错误,可能最适合的方法是使用,不过使用过滤器时也可能要小心,并且需要广泛的权限。两者都将提供tabId来完成此操作。

谢谢!这真的比那个斯图尔特的家伙更有用。我还有第二个问题。我从后台页面调用console.log,但它似乎没有执行!你有解决这个问题的办法吗?