我對javascript(只做JAVA)不太瞭解,但是還沒有對我發現的一些JavaScript代碼(來自Google書籤)進行黑客入侵。Javascript:在字符串中查找斜槓(/)的索引
這是我的情況:我在我的瀏覽器中創建了一個包含JavaScript而不是URL鏈接的書籤。當我按下書籤時,我希望它打開一個具有相同URL的新窗口,但有一些額外的信息。 所以說我在上https://www.abcde.com/KnowYourABC,我按書籤,那麼它應該打開該鏈接的窗口:https://www.abcde.com.DoYou/KnowYourABC - 只是這是第3之前,所以「.DoYou」已插入‘/’
我有以下腳本:
javascript:(function(){
var a=window, b=document, c=encodeURIComponent,
url = b.location,
d = a.open(url, "bkmk_popup", "left="+
((a.screenX||a.screenLeft)+50)+",top="+
((a.screenY||a.screenTop)+50)+
",height=600px, width=1200px, resizable=1, alwaysRaised=1");
a.setTimeout(function(){d.focus()},300)
})();
到目前爲止,它打開一個窗口具有相同的網址。但我似乎無法將網址分割爲第3個「/」。已盡力讓反斜槓的指數,以分裂的URL,並插入「.DoYou」
i = url.indexOf("//",9)
但隨後的窗口將不會打開。請幫助我!
SOLUTION
javascript:(function(){
var a=window;
b=document;
c=encodeURIComponent;
url = b.location;
var parts = window.location.href.split("/");
parts[2] += ".DoYou";
var newurl = parts.join("/");
a.open(newurl, "bkmk_popup","left="+((a.screenX||a.screenLeft)+50)+",top="+((a.screenY||a.screenTop)+50)+",height=600px,width=1200px,resizable=1,alwaysRaised=1"); a.setTimeout(function(){d.focus()},300);
})();
您可能想要發佈未縮小的JavaScript代碼。 – 2012-03-05 14:13:16
作爲參考,'/'是一個普通的斜槓。 '\\'是反斜槓。 – cHao 2012-03-05 14:14:48
'/'只需要在正則表達式中轉義,其中變成''\ /''。在字符串'/'中是足夠的(它不會與任何東西衝突)。 – pimvdb 2012-03-05 14:16:54