我有这个谷歌浏览器扩展..
清单.json:
{
"name": "My extension",
"manifest_version": 2,
"version": "1.0",
"permissions": [
"tabs", "http://*/*"
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["jquery-1.8.3.min.js", "content.js"],
"run_at": "document_end"
}
]
}
popup.html:
<!doctype html>
<html>
<head>
<title>Getting Started Extension's Popup</title>
<style>
body {
min-width:357px;
overflow-x:hidden;
}
img {
margin:5px;
border:2px solid black;
vertical-align:middle;
width:75px;
height:75px;
}
</style>
<!-- JavaScript and HTML must be in separate files for security. -->
<script src="popup.js"></script>
</head>
<body>
<div id="ajax">
</div>
</body>
</html>
popup.js:
function start() {
var reg = false;
if (window.ActiveXObject){
reg = new ActiveXObject("Microsoft.XMLHTTP");
}else {
reg = new XMLHttpRequest();
}
reg.open("GET","http://www.dr.dk/",true); // Insert a reference of the php page you wanna get instead of yourpage.php
reg.send(null);
reg.onreadystatechange = function () {
if (reg.readyState == 4 && reg.status == 200) {
document.getElementById('ajax').innerHTML = reg.responseText;
}else {
no_connection();
}
}
}
function no_connection() {
var reg = false;
if (window.ActiveXObject){
reg = new ActiveXObject("Microsoft.XMLHTTP");
}else {
reg = new XMLHttpRequest();
}
reg.open("GET","no_connection.html",true); // Insert a reference of the php page you wanna get instead of yourpage.php
reg.send(null);
reg.onreadystatechange = function () {
if (reg.readyState == 4 && reg.status == 200) {
document.getElementById('ajax').innerHTML = reg.responseText;
}else {
document.getElementById('ajax').innerHTML = 'An Unknown Error did happened.';
}
}
}
start();
这总是会出现来自 no_connection.html 的内容,但如果我注释掉该行:
no_connection();
来自:
function start();
然后它工作正常,然后它显示的内容http://www.dr.dk/
这怎么会发生,当no_conncection();
它在一个if else
语句中时,它怎么能覆盖它呢?
知道如何解决这个问题,因为这变得很奇怪。