2013-04-02 126 views
0
url = (url.match(/^([^#]+)/)||[])[1]; 

iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' 

上面的代碼是什麼意思,我在jquery.form.js的源代碼中找到它。這段代碼是什麼意思?

+0

Something with和iframe在#後的所有內容都將被刪除 – Kimtho6

+0

http://rick.measham.id.au/paste/explain.pl?regex=%2F%5E%28%5B%5E% 23%5D%2B%29%2F –

+0

第一行刪除了一個「錨點」網址的一部分,這是一種不僅告訴您要導航到哪個頁面,而且還告訴該頁面上的哪個頁面。 –

回答

1

第一行刪除給定URL字符串的哈希部分。

我假設的第二行是某個對象定義的中間(或者:將是一個語法錯誤),查看當前頁面的URL,檢查它是否是HTTPS,並使用不同的URL對於一些動態iFrame,如果是的話。據推測,在HTTPS頁面上,爲什麼javascript:false對於iFrame比about:blank更好?

+0

非常感謝。第一行刪除給定URL字符串的哈希部分。但我仍然不明白「|| []」和「[1]」的意思。 TT – sensen

+0

如果.match不匹配,它會返回一個falsy值(如果它是false,null或undefined,不會記住offhand)。所以|| []默認爲空數組,允許[1]訪問匹配字符串,或者獲取未定義的值。如果你試圖調用false [1],你會得到一個錯誤。 – nrabinowitz