JS在Chrome扩展程序中无效

时间:2014-11-19 10:06:04

标签: javascript html google-chrome

我的Javascript在我的Google Chrome扩展程序中无效。 我之前从未使用过Google Chrome扩展程序,但我不知道如何处理此问题。我想在我的HTML中嵌入JS,但它不起作用。我们看到了计算器,但按钮可以做任何事情。即使我们输入一些数字并按回车键,数字也会被删除,没有任何反应。

这是我的HTML和JS:

首页HTML

<html>
    <head> 
        <title>AFMO</title>
        <style>
            body {
                min-width:200;
                min-height:400;
                overflow-x: hidden;
            }
        </style>        
    </head>
    <body>
    <a href="calculator.html">Calculator</a>



    <p>
        <id="Links">
        <a href="calculator.html" target="_Calculator2"><img src="icon/twitter.png" width="64" height="64"/></a>
        <a href="https://twitter.com/" target="_Twitter"><img src="icon/twitter.png" width="64" height="64"/></a>
        <a href="https://www.facebook.com/" target="_Facebook"><img src="icon/facebook.png" width="64" height="64"/></a>
        <a href="http://instagram.com/" target="_Instagram"><img src="icon/instagram.png" width="64" height="64"/></a>
        <a href="http://www.youtube.com/" target="_Youtube"><img src="icon/youtube.png" width="64" height="64"/></a>
        <a href="https://www.blogger.com/" target="_Blogger"><img src="icon/blogger.png" width="64" height="64"/></a>
        <a href="https://vimeo.com/" target="_Vimeo"><img src="icon/vimeo.png" width="64" height="64"/></a>
        </id>
    </p>
    </body>
</html>

链接HTML

    <html>
<head>
<title>Taschenrechner</title>
<style type="text/css">
.button {  width:60px; text-align:center;
           font-family:System,sans-serif;
           font-size:100%; }
.display { width:100%; text-align:right;
           font-family:System,sans-serif;
           font-size:100%; }
</style>
</head>
<body bgcolor="#FFFFE0" onload="calculator.js">

<form name="Rechner" action="" onsubmit="Ergebnis();return false;">
<table border="5" cellpadding="10" cellspacing="0">
<tr>
<td bgcolor="#C0C0C0">
<input type="text" name="Display" align="right" class="display"></td>
</tr><tr>
<td  bgcolor="#E0E0E0">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td><input type="button" width="60" class="button" value="  7   " onclick="Hinzufuegen('7')"></td>
<td><input type="button" width="60" class="button" value="  8   " onclick="Hinzufuegen('8')"></td>
<td><input type="button" width="60" class="button" value="  9   " onclick="Hinzufuegen('9')"></td>
<td><input type="button" width="60" class="button" value="  +   " onclick="Hinzufuegen('+')"></td>
</tr>
<tr>
<td><input type="button" width="60" class="button" value="  4   " onclick="Hinzufuegen('4')"></td>
<td><input type="button" width="60" class="button" value="  5   " onclick="Hinzufuegen('5')"></td>
<td><input type="button" width="60" class="button" value="  6   " onclick="Hinzufuegen('6')"></td>
<td><input type="button" width="60" class="button" value="  -   " onclick="Hinzufuegen('-')"></td>
</tr>
<tr>
<td><input type="button" width="60" class="button" value="  1   " onclick="Hinzufuegen('1')"></td>
<td><input type="button" width="60" class="button" value="  2   " onclick="Hinzufuegen('2')"></td>
<td><input type="button" width="60" class="button" value="  3   " onclick="Hinzufuegen('3')"></td>
<td><input type="button" width="60" class="button" value="  *   " onclick="Hinzufuegen('*')"></td>
</tr>
<tr>
<td><input type="button" width="60" class="button" value="  0   " onclick="Hinzufuegen('0')"></td>
<td><input type="button" width="60" class="button" value="  .   " onclick="Hinzufuegen('.')"></td>
<td><input type="button" width="60" class="button" value="  =   " onclick="Ergebnis()"></td>
<td><input type="button" width="60" class="button" value="  /   " onclick="Hinzufuegen('/')"></td>
</tr>
<tr>
<td><input type="button" width="60" class="button" value="sqrt " onclick="Sonderfunktion('sqrt')"></td>
<td><input type="button" width="60" class="button" value=" pow " onclick="Sonderfunktion('pow')"></td>
<td><input type="button" width="60" class="button" value=" ln " onclick="Sonderfunktion('ln')"></td>
<td><input type="reset"  width="60" class="button" value="  C  "></td>
</tr>
</table>
</td></tr></table>
</form>

</body>
</html>

JS

    function Check (Eingabe) {
  var nur_das = "0123456789[]()-+*%/.";
  for (var i = 0; i < Eingabe.length; i++)
    if (nur_das.indexOf(Eingabe.charAt(i)) < 0)
      return false;
  return true;
}

function Ergebnis () {
  var x = 0;
  if (Check(window.document.Rechner.Display.value))
    x = eval(window.document.Rechner.Display.value);
  window.document.Rechner.Display.value = x;
}

function Hinzufuegen (Zeichen) {
  window.document.Rechner.Display.value = window.document.Rechner.Display.value + Zeichen;
}

function Sonderfunktion (Funktion) {
  if (Check(window.document.Rechner.Display.value)) {
    if (Funktion == "sqrt") {
      var x = 0;
      x = eval(window.document.Rechner.Display.value);
      window.document.Rechner.Display.value = Math.sqrt(x);
    }
    if (Funktion == "pow") {
      var x = 0;
      x = eval(window.document.Rechner.Display.value);
      window.document.Rechner.Display.value = x * x;
    }
    if (Funktion == "ln") {
      var x = 0;
      x = eval(window.document.Rechner.Display.value);
      window.document.Rechner.Display.value = Math.log(x);
    }
  } else
    window.document.Rechner.Display.value = 0}

更多信息: 这是我们自己的Chrome应用。我们刚刚复制了计算器,但我们不会发布这个应用程序,所以我想这没关系。

EDIT 当我按下计算器上的任何数字时,这会出现在控制台中。 拒绝执行内联事件处理程序,因为它违反了以下&#34;&#34; SEE BELOW&#34;&#34;内容安全政策指令:&#34; script-src&#39; self&#39;铬扩展资源:&#34 ;. “不安全 - 内联”和“不安全”。关键字,哈希(&#39; sha256 -...&#39;)或nonce(&#39; nonce -...&#39;)是启用内联执行所必需的。 我已经尝试解决这个问题,甚至找不到任何内联脚本。

&#34;&#34;见下文&#34;&#34;
这里是按钮的线。如果我按7,第25行出现错误,如果我在39中按3错误。我想我必须把所有

<td><input type="button" width="60" class="button" value="  4   " onclick="Hinzufuegen('4')"></td>

在一个额外的js,但我真的不知道如何做到这一点

2 个答案:

答案 0 :(得分:0)

您的<script>代码在哪里?
它应该是这样的:

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

答案 1 :(得分:0)

您需要在头部

中添加脚本标记
<head>
 <script type="text/javascript" language="javascript" src="jsfilehere.js"></script>
</head>