OnClick事件在Chrome扩展程序中不起作用

时间:2014-04-16 01:21:21

标签: javascript google-chrome-extension

我试图在Chrome扩展程序中复制这个简单的JavaScript,但没有任何效果。我知道我无法使用内联脚本,因此我确切地知道问题所在,但我已经遍布此网站而无法找到解决方案。

<HTML>
<HEAD>
<TITLE>Test Input</TITLE>
<script type="text/javascript">
function redirect(user)
    {
        var location='https://www.stackoverflow.com/';

        window.location = location+user;
    }

function join_ym()
{
var thing1 = document.getElementById('thing1').value;
var thing2 = document.getElementById('thing2').value;
document.getElementById('joint').value = 'this-'+thing1+'-then-this-'+thing2;
javascript:redirect(document.getElementById('joint').value);
}
</script>
</head>
<body>
<p>First Thing:<input type="text" id="thing1" /></p>
<p>Second Thing:<input type="text" id="thing2" /></p>
<input type="hidden" id="joint">
<input type="button" value="go" onclick="join_ym();">
</BODY>
</HTML>

在这个例子中有两个文本框,所以如果你输入&#34; thing&#34;两个,然后点击go你会被带到:https://stackoverflow.com/this-thing-then-this-thing。我认为问题特别针对onclick事件,除非输入类型也是一个问题。我查看了内容安全策略中的示例以及此站点中的示例,但没有任何效果。我需要知道的是.js中的内容以及.html文件中的内容。任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

是的,不允许使用内联脚本。您需要将所有脚本移动到单独的文件中,例如script.js,然后使用<script>标记引用该标记:

<script src="script.js"></script>

您可能还需要在脚本中设置按钮,例如

document.querySelector('button[value=go]').onclick = join_ym;

https://developer.chrome.com/extensions/getstarted