【问题标题】:Google web app not running Javascript scriptGoogle Web 应用程序未运行 Javascript 脚本
【发布时间】:2014-03-26 23:47:43
【问题描述】:

好吧,我有一个问题,我正在尝试制作一个 google chrome 应用程序并且我已经掌握了基础知识,我拥有的是一个 html 文件,它在其中加载另一个 html 文件,加载的 html 文件运行一个脚本显示时间。当我在我的网络浏览器中运行它时它工作正常,但是当我通过谷歌浏览器作为一个实际应用程序运行它时,时间没有显示出来,这是我的代码。

chrome 应用运行的文件:

<!DOCTYPE html>
<html>
  <head>
  <title>GimOS Emulator</title>
   </head>
    <body bgcolor = black>
    <center><font color="white">System Type: Emulated Mobile System (EMS) </font>   </center>
<center><IMG SRC = "Gimijes.png"><center> 
    <iframe src="menu.html" width=200 height=440></iframe>
  </body>
</html> 

还有“应该显示时间”的 menu.html 文件

<!DOCTYPE html>
<html>
   <head>
   <title>GimOS Emulator</title>
   </head>
   <body bgcolor = white>
   <center><script type="text/javascript">
 function startTime()
{
 var today=new Date();
 var h=today.getHours();
 var m=today.getMinutes();
 var s=today.getSeconds();
 // add a zero in front of numbers<10
 m=checkTime(m);
 s=checkTime(s);
 document.getElementById('txt').innerHTML=h+":"+m+":"+s;
 t=setTimeout('startTime()',500);
} 
 function checkTime(i)
{
 if (i<10)
{
 i="0" + i;
}
 return i;
}
  </script>
    </head>
       <body onload="startTime()">
     <div id="txt"></div></center>
   </body>
</html>

如果有人知道如何抽出时间出现,我将不胜感激:D

【问题讨论】:

  • 通过“谷歌浏览器应用程序”你说的是扩展吗?
  • 是的,probebly应该这样说...

标签: javascript html google-chrome time scripting


【解决方案1】:

将您的脚本移动到它自己的文件中,例如。 menu.js,并在底部添加:

document.addEventListener('DOMContentLoaded', function () {
  startTime();
});

然后在您的 menu.html 中,将其添加到头部。

<script type="text/javascript" src="menu.js"></script>

我非常确定是内容安全策略 (CSP) 阻止了内联 onload 事件不触发。

【讨论】:

  • 它不起作用这是 menu.js 文件的内容,以防我做错了什么:function startTime() { var today=new Date(); var h=today.getHours(); var m=今天.getMinutes(); var s=today.getSeconds(); // 在数字前加一个零
  • 我忘了括号,哎呀。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-15
  • 2023-01-30
  • 2014-02-10
  • 2012-10-06
  • 1970-01-01
相关资源
最近更新 更多