首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将当前url传递到chrome扩展中的dev工具面板

将当前url传递到chrome扩展中的dev工具面板
EN

Stack Overflow用户
提问于 2017-04-12 00:07:49
回答 1查看 522关注 0票数 3

我想弄明白Chrome开发者扩展是如何工作的。我想在开发工具面板窗口中显示当前活动选项卡的URL。

我见过这样做的例子:

代码语言:javascript
复制
chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
    var url = tabs[0].url;
});

不幸的是,我不知道该把它放在哪里,以及如何将结果放到面板中。我从未看到来自chrome.devtools.panels.create回调的console.log输出。

下面是我到目前为止创建的文件。

manifest.html

代码语言:javascript
复制
{
  "name": "DevTools panel",
  "version": "0.0.1",
  "manifest_version": 2,
  "description": "Dev tools test.",
  "devtools_page": "devtools.html",
  "permissions": [
    "tabs",
    "http://*/*",
    "https://*/*"
  ]
}

devtools.js

代码语言:javascript
复制
chrome.devtools.panels.create("DevTools panel","chrome.png", "panel.html", function(panel) { 
    console.log("After panel create");
});

panel.html

代码语言:javascript
复制
<html>
<head>
  <script>alert('hello')</script>
</head>
<body>
<h2>DevTools panel</h2> 
<div id="currentUrl">The current url should go here</div>
</body>

EN

回答 1

Stack Overflow用户

发布于 2021-10-18 23:15:47

chrome.tabs在开发工具中不可用。如果使用的是devtools_page,则可以使用devtools接口

在火狐中或在webextension-polyfill

代码语言:javascript
复制
const [response, error] = await browser.devtools.inspectedWindow.eval(
    "location.href"
);

// Your URL is in `response`

在Chrome中:

代码语言:javascript
复制
browser.devtools.inspectedWindow.eval("location.href", (response, error) => {
  // Your URL is in `response`
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43351103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档