Chrome扩展程序链接无法正常工作...(可能是连接的js)

时间:2017-03-16 19:26:12

标签: javascript html json google-chrome-extension

似乎不应该有问题,因为我将4chan添加到清单的权限部分,但链接仍然没有打开4chan.org的新选项卡。如果有人能说出我的代码有什么问题,我真的很感激。

这是我目前的代码:

manifest.json:

{
"manifest_version": 2,

"name": "C-List",
"description": "Never Miss a New Thread Again",
"version": "3.0",

"browser_action": {
"default_icon": "icon.jpg",
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"activeTab",
"https://www.4chan.org/",
"http://www.google.com/"
]
}

popup.html:

 <!doctype html>
<html>
<head>
<title>C-List</title>
<script src="popup.js"></script>
</head>
<body>
<div style="background-color:rgb(0,255,80)"></div>
<h3>A New Thread Has Been Posted</h3>
<!-- <a id = "link">4Chan</a>
<a href="https://4chan.org/" class="button">Go to Google</a>
<button id="checkPage">Check it out now!</button>
--> 
<button type="button"><a href="https://4chan.org/" class="button">New   Thread</a></button>
</body>
</html>

popup.js:

document.addEventListener('DOMContentLoaded', function() {
var checkPageButton = document.getElementById('checkPage');
checkPageButton.addEventListener('click', function() {

chrome.tabs.getSelected(null, function(tab) {
  d = document;

  var f = d.createElement('form');
  f.action = 'https://4chan.org/';
  f.method = 'post';
  var i = d.createElement('input');
  i.type = 'hidden';
  i.name = 'url';
  i.value = tab.url;
  f.appendChild(i);
  d.body.appendChild(f);
  //f.submit();
  });
  }, false);
  }, false);
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.create({'url': "https://4chan.org/"});
});
/*
document.addEventListener('DOMContentLoaded', function() {
var link = document.getElementById('checkPage');
// onClick's logic below:
link.addEventListener('click', function() {
    hellYeah('xxx');
});
});

1 个答案:

答案 0 :(得分:0)

当为chrome.browserAction.onClicked定义弹出窗口时,

browser_action个事件不会触发。你得到 弹出窗口 chrome.browserAction.onClicked事件,而不是两者。您获得的内容完全取决于是否指定了弹出页面(在manifest.json中或在browserAction.setPopup()中设置)。

因此,您需要为按钮添加事件侦听器。类似的东西:

document.querySelector('button').addEventListener(function() {
    chrome.tabs.create({'url': "https://4chan.org/"});
});