Chrome扩展程序将输入追加到URL。

时间:2018-08-23 08:51:33

标签: javascript html google-chrome google-chrome-extension

我当前正在创建一个具有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文件中将其调出,但它仍然无法正常工作。

1 个答案:

答案 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});
}