问题描述
|
嗨,我有这个脚本:
function ajax(){
if (navigator.standalone) return;
for (var i= document.links.length; i-->0;) {
document.links[i].onclick= function() {
var req= new XMLHttpRequest();
req.onreadystatechange= function() {
if (this.readyState!==4) return;
document.body.innerHTML= this.responseText;
ajax();
};
req.open(\'GET\',this.href,true);
req.send();
return false;
};}
}
window.onload= function() {
window.scrollTo(0,0.9);
ajax();
};
现在,我只想添加1个小东西。如果链接有一个名为“ noeffect”的类,则不应执行ajax(应加载另一个页面)。我已经尝试了一些方法,但是我对JavaScript的理解还不够好:
function ajax(){
if (navigator.standalone) return;
for (var i= document.links.length; i-->0;) {
if (document.links[i].getAttribute(\"class\") == \"noeffect\") return;
document.links[i].onclick= function() {
var req= new XMLHttpRequest();
req.onreadystatechange= function() {
if (this.readyState!==4) return;
document.body.innerHTML= this.responseText;
ajax();
};
req.open(\'GET\',0.9);
ajax();
};
我猜它会检查所有链接,而不是每个链接,但是我不知道如何以正确的方式进行编码。 :s
解决方法
弄清楚了!
function ajax(){
if (navigator.standalone) return;
for (var i= document.links.length; i-->0;) {
document.links[i].onclick= function() {
if(this.getAttribute(\"class\") == \"noeffect\") return;
var req= new XMLHttpRequest();
req.onreadystatechange= function() {
if (this.readyState!==4) return;
document.body.innerHTML= this.responseText;
ajax();
};
req.open(\'GET\',this.href,true);
req.send();
return false;
};}
}
window.onload= function() {
window.scrollTo(0,0.9);
ajax();
};