首先,这个错误通常是由于使用fetch
或XMLHttpRequest
等JS请求API时,请求的url协议不是http或https所导致的。而在浏览器中只有这两种协议的URL才可以被默认处理,否则就会报这个错。
解决这个问题有两种方法,具体操作如下:
- 将url协议设置为http或https
可以在你的JS代码中将URL的协议设置成http或https,这样就可以避免这个问题了,示例代码如下:
fetch('http://example.com/data.json')
.then(response => response.json())
.then(json => console.log(json))
.catch(error => console.error(error))
- 在manifest文件中添加URL白名单
另一种方法是在manifest文件中添加URL白名单,这样浏览器在加载你的web app时,会自动将这个URL协议作为已知URL来处理。
示例代码如下:
{
"name": "My Web App",
"manifest_version": 2,
"version": "1.0",
"content_security_policy": "default-src 'self' https://example.com",
"web_accessible_resources": [
"script.js"
],
"permissions": [
"https://example.com/*"
]
}
在以上示例代码中,我们添加了一个permissions的字段,并且设置了一个URL白名单,这个白名单允许我们加载https://example.com和https://example.com/*这样的URL。
总之,以上两种方法可以帮助你解决JS请求路径控制台报错 Failed to launch'xxx' because the scheme does not have a registered handler的问题,根据实际情况选用即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决JS请求路径控制台报错 Failed to launch’xxx’ because the scheme does not have a registered handler的问题 - Python技术站