我试图做的下一件事:如果URL中包含该文件夹+随机归档
if (document.referrer=="http://host.com/folder1/*.html"){
alert('True');
}
所以我想要做的是,如果脚本检测我们对文件夹1显示一个警告,不管档案。 *(星号)是执行它,不管它有什么名字。但我真的不知道该怎么做,显然上面的例子不起作用。
任何想法?
我试图做的下一件事:如果URL中包含该文件夹+随机归档
if (document.referrer=="http://host.com/folder1/*.html"){
alert('True');
}
所以我想要做的是,如果脚本检测我们对文件夹1显示一个警告,不管档案。 *(星号)是执行它,不管它有什么名字。但我真的不知道该怎么做,显然上面的例子不起作用。
任何想法?
基本上你是想测试,如果变量document.referrer
开始与http://host.com/folder1
,所以你可以使用以下命令:
if (document.referrer.indexOf('http://host.com/folder1')==0){
alert('True');
}
试试这个:
if (document.referrer.match("http://host.com/folder1/[^/]+\.html"))
在这里看到更多:
这里有一个的jsfiddle你可以玩:
的代码是:
var ref = "http://host.com/folder1/abc.html";
var ref1 = "http://host.com/folder1/abc.xml";
var ref2 = "http://host.com/folder1/qq/abc.html";
if (ref.match("http://host.com/folder1/[^/]+\.html")) {
$('#msgs').text('matches!');
} else {
$('#msgs').text('doesn\'t match...');
}
如果您在if(...)
使用ref
,它将匹配,但ref1
和ref2
将不匹配。
很有教育意义。非常感谢。 – 2012-02-20 19:17:40
当然,谢谢! – 2012-02-20 19:21:27
也许补充一点:
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function (str){
return this.indexOf(str) == 0;
};
}
然后,你可以这样做:
if (document.referrer.startsWith("http://host.com/folder1/")){
alert('True');
}
您可以使用该test()
功能和regular expression:
if (/http:\/\/host\.com\/folder1\/.*\.html/.test(document.referrer)){
alert('True');
}
或indexOf()
功能:
if (document.referrer.indexOf("http://host.com/folder1/") == 0)
alert('True');
}
请注意,第二种方法不检查.html
扩展名。
就像我需要的魅力一样。谢谢。 – 2012-02-20 19:17:55
这是我需要的。谢谢胺。 – 2012-02-20 19:18:26