我当前正在创建一个具有popup.html的Chrome扩展程序,在该扩展程序中有两件事。输入字段和“提交”按钮。
“输入”字段从用户那里获取一个EXTN编号,当按下提交按钮时,我需要将用户导航到一个新选项卡,将用户的输入追加到末尾。
按下提交按钮时,输入= 9999,将用户带到:提交= http://name.com/9999
仅使用HTML文件时,我就可以使用它,但是当将其作为扩展程序加载到Chrome中时,它似乎没有任何作用。
这是我用于输入和onClick的代码:
Popup.HTML
<script src="popup.js"></script>
<input type="text" id="page" />
<input type="submit" value="submit" onclick="goToPage();" />
popup.js
function goToPage() {
var page = document.getElementById('page').value;
window.location = "http://name.com/" + page; }
我知道您不能在JS行中运行,因此我已经从popup.js文件中将其调出,但它仍然无法正常工作。
答案 0 :(得分:0)
您can't use inline JS in Chrome extension(输入元素中的onclick="goToPage();"
被视为内联Javascript)。您必须全部将Javascript代码放在单独的文件中。
您将需要使用chrome.tabs API来打开一个新标签。例如:
popup.html
<input type="text" id="page" />
<button id="submit">Submit</button>
<script src="popup.js"></script>
popup.js
document.getElementById('submit').onclick = function(){
var page = document.getElementById('page').value;
chrome.tabs.create({url:'http://name.com/' + page});
}