Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript";至于;循环崩溃页面_Javascript - Fatal编程技术网

Javascript";至于;循环崩溃页面

Javascript";至于;循环崩溃页面,javascript,Javascript,此代码的目标是检查连续的&、b、u和=。然而,当我通过Javascript注入输入代码时,它会使网页崩溃 代码: var str=document.URL//获取网页的URL var=0; //此循环逐字符读取URL,并检查它是否为&、b、u或=。如果是,则将相应的变量设置为1。 对于(变量i=0;i-1查看它是否在那里。不要发明你自己的轮子。使用url.indexOf(“&bu=”)>-1查看它是否在那里。下面是使用正则表达式的简单解决方案: var url = document.URL,

此代码的目标是检查连续的&、b、u和=。然而,当我通过Javascript注入输入代码时,它会使网页崩溃

代码:

var str=document.URL//获取网页的URL
var=0;
//此循环逐字符读取URL,并检查它是否为&、b、u或=。如果是,则将相应的变量设置为1。
对于(变量i=0;i<1;i++){
var res=str.charAt(i);
如果(res==“&”){
var ampYes=1;
}否则{
var ampYes=0;
}
如果(res==“b”){
var-bYes=1;
}否则{
var-bYes=0;
}
如果(res==“u”){
var uYes=1;
}否则{
var uYes=0;
}
如果(res==“=”){
var eqYes=1;
}否则{
var eqYes=0;
}
警报(res)
}

我推测它崩溃的原因是由于我的一个“如果”中的错误。我在一个没有符号的网站上测试了它,它没有崩溃。然而,在一个连续使用&,b,u和=,的网站上,它会使页面崩溃。

不要发明你自己的轮子。使用
url.indexOf(“&bu=”)>-1
查看它是否在那里。

不要发明你自己的轮子。使用
url.indexOf(“&bu=”)>-1
查看它是否在那里。

下面是使用正则表达式的简单解决方案:

var url = document.URL,
    ampYes, bYes, uYes, eqYes;

ampYes = /\&/gi.test(url) ? 1 : 0;
bYes = /b/gi.test(url) ? 1 : 0;
uYes = /u/gi.test(url) ? 1 : 0;
eqYes = /\=/gi.test(url) ? 1 : 0;

console.log(url, ampYes, bYes, uYes, eqYes);
您可以尝试在此处更改url的值并进行测试:


祝你好运

下面是使用正则表达式的简单解决方案:

var url = document.URL,
    ampYes, bYes, uYes, eqYes;

ampYes = /\&/gi.test(url) ? 1 : 0;
bYes = /b/gi.test(url) ? 1 : 0;
uYes = /u/gi.test(url) ? 1 : 0;
eqYes = /\=/gi.test(url) ? 1 : 0;

console.log(url, ampYes, bYes, uYes, eqYes);
您可以尝试在此处更改url的值并进行测试:


祝你好运

很确定这不是你的代码崩溃,它只会在for循环中循环一次。你能解释一下“崩溃”和“页面崩溃”是什么意思吗?在控制台中是否有错误?如果是的话,你会得到什么样的错误?通常,“崩溃”意味着整个浏览器进程都死掉了。你能解释一下你的代码应该做什么吗?你只在一次迭代中循环…你设置了一些永远不会被使用的局部变量。我不明白这应该实现什么。你有一个url崩溃的例子吗?使用Mike'Pomax'Kamerman的答案,我能够修复我的代码。不过,谢谢你的关心!很确定这不是你的代码崩溃,它只会在for循环中循环一次。你能解释一下“崩溃”和“页面崩溃”是什么意思吗?在控制台中是否有错误?如果是的话,你会得到什么样的错误?通常,“崩溃”意味着整个浏览器进程都死掉了。你能解释一下你的代码应该做什么吗?你只在一次迭代中循环…你设置了一些永远不会被使用的局部变量。我不明白这应该实现什么。你有一个url崩溃的例子吗?使用Mike'Pomax'Kamerman的答案,我能够修复我的代码。不过,谢谢你的关心!我不认为url.indexOf(“&bu=”)>-1会在url u=foo时返回true,对于这种情况,最好使用正则表达式匹配。indexOf是一个很好的解决方案,但它可以像if(url.indexOf(&)>-1)这样一次查找单个字符……不,但问题是作者试图找到一个连续的&,b,u和=,这是我们使用indexOf(&bu=“)所做的。然后他们如何实现它就变得相当无关紧要了,因为有一种干净的JS本机方法可以做到这一点。我不认为url.indexOf(“&bu=”)>-1会用url u=foo返回true,对于这种情况,最好使用正则表达式匹配。indexOf是一个很好的解决方案,但它可以像if(url.indexOf(&)>-1)这样一次查找单个字符……不,但问题是作者试图找到一个连续的&,b,u和=,这是我们使用indexOf(&bu=“)所做的。然后他们如何实现它就变得相当无关紧要了,因为有一种干净的JS本机方法可以做到这一点。