我试图制作一个谷歌浏览器扩展程序,在您打开新标签页时显示日期。但是,我的代码根本就没有执行javascript代码。我知道该部分之外的代码是有效的,因为我通过显示"新标签打开"来测试它。当我打开一个新标签。它只是没有显示日期。任何帮助将不胜感激:))
<!DOCTYPE html>
<html>
<body bgcolor="C1E9E1" onload="displayDate();">
<div>new tab opened</div>
<p id="data"></p>
<script type ="text/javascript">
function displayDate(){
var day = new Date();
var y = day.getFullYear().toString().substr(-2);
var m = day.getMonth() + 1;
var d = day.getDate();
if(m < 10){
m = "0"+m
}
if(d < 10){
d = "0"+d
}
var dateFormat = m + " " + d + " " + y
document.getElementById("data").innerHTML = dateFormat;
}
</script>
</body>
答案 0 :(得分:1)
不要使用带有chrome扩展名的内联脚本。您需要从单独的js文件中获取脚本。
实施例:
<script src="myscript.js">
应该在此之后工作,或者至少允许您正确调试。 它可能适用于非常小的逻辑,但肯定会遇到进一步的问题。
在你的manifest.json中包含content_scripts
项目。
"content_scripts": [
{
"css": ["mystyles.css"],
"js": ["myscript.js"]
}
]
请参阅此问题以获得类似的解决方案: Chrome 18+: How to allow inline scripting with a Content Security Policy?