这是我用于地理定位的代码。
即使我有console.log,它也不会将坐标记录到控制台。它显示错误“chrome / ExtensionProcessBindings:95期间tabs.executeScript错误:未知错误。” 但是,当被要求提醒时;它提醒正确的坐标
background.html
<script>
chrome.tabs.executeScript(null, {file: "content_script.js"});
</script>
content_script.js
navigator.geolocation.getCurrentPosition(function(position) {
console.log(position.coords.latitude+" "+position.coords.longitude);
});
的manifest.json
{
"name" : "Geolocation",
"version" : "0.1",
"background_page" : "background.html",
"permissions":["tabs","http://*/*", "https://*/*","*://*/*"]
}
答案 0 :(得分:2)
您的代码适用于我。
我认为问题在于您在后台页面的开头调用chrome.tabs.executeScript()
,这意味着当您启用扩展程序时,它可能会尝试将此脚本直接注入chrome://extensions/
。< / p>
您需要确保将脚本注入常规加载的选项卡。例如,我尝试在用户点击浏览器操作图标时注入它,并且它有效:
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.executeScript(null, {file: "content_script.js"});
});