0

我如何修复此 JavaScript 以在多个文档上写入location.href.indexOf

if (location.href.indexOf( "/smispage""/tpfpage""/client_images_new""/client_images_list" ) > -1) {
    document.write( '<base target="_blank" />' );
}

无论我如何布置列表,它似乎只适用于smispage页面:

"x","y" or "x";"y" or "x""y" or "x, y" or "x: y" or  "x,y" or "x;y"
4

2 回答 2

0

indexOf方法根本没有那个功能:它允许您搜索单个子字符串,仅此而已。

一种替代方法是search使用方法,它允许您指定正则表达式。在你的情况下,这可能看起来像:

if (location.href.search(/\/((smis|tpf)page|client_images_(new|list))/ ) > -1) {
    document.write( '<base target="_blank" />' );
}
于 2013-01-30T19:52:00.343 回答
0

您可以创建页面列表并循环检查它们是否匹配..

var pages = ['/smispage','/tpfpage', '/client_images_new', '/client_images_list'];

for (var i = 0, len = pages.length; i < len; i++){
    if ( location.href.indexOf( pages[i] ) > -1 ){
        document.write( '<base target="_blank" />' );
        break;
    }
}
于 2013-01-30T19:54:52.330 回答