我有一个弹出式窗口,在文档准备就绪时运行javascript,并重定向更改另一个popup.html ...这是最疯狂的
{
"manifest_version": 2,
"name": "My App",
"description": "Lorem ipsum",
"version": "1.0",
"background": {
"persistent": false,
"scripts": ["js/jquery-2.2.3.min.js", "background/background.js"]
},
"content_scripts": [
{
"matches": ["*"],
"js": ["js/jquery-2.2.3.min.js", "content/buttons.js"]
}
],
"web_accessible_resources": ["content/*.html"],
"browser_action": {
"default_icon": "favicon-96x96.png",
"default_popup": "popup/index/index.html"
},
"permissions": [
"tabs", "webNavigation", "notifications", "*://localhost/*", "http://127.0.0.1/*"
]
}
the popup.js
//Some code that runs correctly
chrome.browserAction.setPopup("list/list.html");
我的list.html在弹出窗口中呈现时没有任何问题,如下所示:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="../../css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="../main.css">
<title>TaskCrusher</title>
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">MyApp</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><a class="logout-button" href="#" onclick="return logOut();">Logout</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
<h4>Welcome!</h4>
</body>
<script src="../../js/jquery-2.2.3.min.js"></script>
<script type="application/javascript" src="../../js/bootstrap.min.js"> </script>
<script type="application/javascript" src="../global.js"></script>
<script type="application/javascript" src="../../js/carhartl-jquery-cookie/jquery.cookie.js"></script>
<script type="application/javascript" src="../../js/notifyjs/notify.min.js"></script>
<script type="application/javascript" src="list.js"></script>
</html>
如你所见,在最后我插入了list.js,但无论我做什么,当list.html加载时,它都不会运行……
我检查了所有地方,但我不知道错误在哪里。
这是list.js
var checkCardWaiting = function() {
var card = $.cookie('card');
if (card) {
// There was a card waiting
redirect("post/post.html");
}
};
document.addEventListener('DOMContentLoaded', function () {
checkCardWaiting();
});
我尝试使用$(checkCardWaiting)和$(document).ready(checkCardWaiting),但是当我调试时,我发现它甚至不能运行代码。此外,当我调试时,我在source选项卡中看到下载的js文件。
在此之前,非常感谢。
发布于 2016-05-27 22:39:08
是我的错。实际上它是在运行。我认为这不是因为我在弹出窗口中使用了chrome调试器,并且它没有在任何断点停止。但是我放了一个console.log命令,它们确实运行了。在没有重新加载扩展的情况下尝试了一遍之后,我发现在第三次运行代码时,调试器开始在断点处停止...所以这是一个调试器问题。
https://stackoverflow.com/questions/37472065
复制