Javascript 在html中打开chrome扩展

Javascript 在html中打开chrome扩展,javascript,html,google-chrome-extension,Javascript,Html,Google Chrome Extension,我使用此代码打开chrome扩展,但未打开 <li class="bms-item"><a href="chrome-extension://dsdsdsdsdsdsdsdjsndjsdsds/nhc.html#url=http://ipaddress/check_1/" target="_blank">bms</a></li> 由于安全限制,Web上下文无法打开chrome extension://或chrome://链接。其想法是,简单地打

我使用此代码打开chrome扩展,但未打开

 <li class="bms-item"><a href="chrome-extension://dsdsdsdsdsdsdsdjsndjsdsds/nhc.html#url=http://ipaddress/check_1/" target="_blank">bms</a></li>
由于安全限制,Web上下文无法打开chrome extension://或chrome://链接。其想法是,简单地打开页面可能会执行比网页更高权限的某些操作

正如wOxxOm在评论中提到的,假设您同时控制扩展和网页,那么您应该使用External_connectable。文档中有一个示例,但模式如下所示:

您在扩展的清单中声明您的域,https://example.com/,可以呼叫分机。 从您的网页代码中,检查chrome.runtime.sendmages是否可用-这意味着已安装准备好侦听的扩展。 然后使用扩展ID调用chrome.runtime.sendMessage并请求执行某些操作,例如打开扩展页面。 在扩展的后台页面中,使用chrome.runtime.onMessageExternal接收消息并执行一些操作,例如使用chrome.tabs API打开页面。 如果您控制扩展,但不控制网站,并且您要从内容脚本添加按钮,则应分配一个调用chrome.runtime.sendMessage的处理程序,并再次从可以打开扩展页面的后台页面处理它,这与内容脚本不同。不过这次将是chrome.runtime.onMessage事件

或者,应该有助于未经测试


如果您不控制扩展,出于上述安全原因,您将无能为力。

确定DSDJSNDJSDS是您的扩展id吗?我只是为您添加了它sample@HaibaraAi我的代码有问题,你能提供更多细节吗?比如上面的代码出现在哪里?弹出页面、选项页面、背景页面或通过内容脚本注入的元素?如果该按钮位于普通网页上,则无法直接链接到chrome extension://url。您必须使用将消息发布到扩展,该扩展必须具有适当的事件侦听器才能处理该消息并打开所需页面。是否确定@Xan?为什么我可以通过测试html页面打开chrome扩展URL?我不知道。如果我在web上下文中尝试,它将打开:blank。是否使用本地文件进行测试:///URL?这可能是允许的。也可能涉及web\u可访问的\u资源。是文件:///url和未打包的扩展路径。请尝试编辑web源网页上的链接,并确保该网页不可通过web访问。