Javascript 在扩展名'中显示当前选项卡URL;s弹出窗口
我想将当前选项卡url存储在以下Javascript 在扩展名'中显示当前选项卡URL;s弹出窗口,javascript,html,google-chrome-extension,Javascript,Html,Google Chrome Extension,我想将当前选项卡url存储在以下字段中: <input type="text" id="pdurl" value=> 我已经在清单文件中设置了选项卡权限。您的代码完全错误。有一些严重的问题,很容易避免检查弹出式控制台的错误。这是: 首先,chrome.tabs.query是一种异步方法。这意味着代码被计算并排队等待执行;当它执行时,将调用并执行回调函数(您将其指定为第二个参数)。这意味着您编写的最后一行将始终失败,因为您要使用的变量仍然不存在(查询函数仍然没有完成工作) 您在回调中
字段中:
<input type="text" id="pdurl" value=>
我已经在清单文件中设置了
选项卡
权限。您的代码完全错误。有一些严重的问题,很容易避免检查弹出式控制台的错误。这是:
chrome.tabs.query
是一种异步方法。这意味着代码被计算并排队等待执行;当它执行时,将调用并执行回调函数(您将其指定为第二个参数)。这意味着您编写的最后一行将始终失败,因为您要使用的变量仍然不存在(查询函数仍然没有完成工作)
tab
变量,因为在当前窗口中查询活动选项卡总是返回一个选项卡,所以您只需要使用tabs[0]
activeTabUrl
变量是用var
关键字定义的,这将使它成为私有的,您将无法在函数之外使用它(这是您在最后一行中尝试做的,尽管它仍然是错误的)innerHTML
:此语句在很多级别上都是错误的,我甚至不知道从哪里开始:首先,如果您想在文本输入中实际看到某些内容,您必须修改其属性值
;第二:变量没有定义;另外,作业中的var
语句在语法上是错误的;第四:即使把前面的三个条件都做对了,你仍然不在回调范围内chrome.tabs.query({active : true, currentWindow: true}, function (tabs) {
document.getElementById("pdurl").value = tabs[0].url;
});
我强烈建议您先看一看一些JavaScript教程,并检查控制台是否有错误*,然后再问类似的问题。
*弹出控制台中会显示扩展弹出窗口中的错误,您可以右键单击扩展图标并选择“检查弹出窗口”打开该控制台。感谢您的帮助。我是编程新手,所以我需要多方面的帮助。我使用的代码如下chrome.tabs.query({'active':true,'windowId':chrome.windows.WINDOW\u ID\u CURRENT},函数(tabs){var adurl=tabs[0].url;document.getElementById(“pdurl”).innerHTML=adurl;});//如何将变量adurl与另一个函数中的当前URL一起使用?您必须在回调中调用所需的函数,将该变量传递给itIt应该是
tabs[0]。URL
而不是选项卡[0]。url代码>
chrome.tabs.query({active : true, currentWindow: true}, function (tabs) {
document.getElementById("pdurl").value = tabs[0].url;
});