2
希望得到一些幫助或方向與幾個JavaScript問題。客戶端網站將通過CMS進行維護,我們需要檢查可能添加的任何URL,如果它是外部的,則啓動speedBump。我們確實需要有一些例外(白名單)。jQuery&twitter Bootstrap Modal
我們使用twitter bootstrap模態,並且存在一些當前代碼無法預料的結果。
例如,在模式中繼續按鈕關閉對話框,而不是在確認時傳遞URL。如果URL被聲明爲http,則modal將關閉,如果它被聲明爲www,則會將URL附加到域(wierd)。同時尋找改進/擴展或爲URL添加白名單的最佳方式,該功能應該被speedBump忽略。我確信有一個比我們有更好的方法。
jQuery(document).ready(function() {
// FIND EXTERNAL LINKS
$.expr[":"].external = function (a) {
// DO NOT INCLUDE THE FOLLOWING MATCHES: EMAIL LINKS, TELEPHONE LINKS, HOSTNAME
return !a.href.match(/^mailto\:/) && !a.href.match(/^tel\:/) && a.hostname != location.hostname
};
// ADD BOOTSTRAP DATA-TOGGLE ATTRIBUTE TO THE LINKS
$('a:external').attr('data-toggle', 'modal');
// ADD BOOTSTRAP DATA-TARGET ATTRIBUTE TO THE LINKS
$('a:external').attr('data-target', '#speedbump');
// ADD EXTERNAL LINK CLASS .ext_link FOR STYLING
$("a:external").addClass("ext_link");
// ADD THE LINK AND TITLE TO THE MODAL WINDOW
$(function() {
$('a.ext_link').click(function() {
var url = $(this).attr('href');
var title = $(this).attr('title');
$('#url_link').attr('href', url);
});
});
});
當前代碼和任何人,也不會介意看看上的jsfiddle模式例如:http://jsfiddle.net/zendiko/TYAeD/
感謝馬蹄寺,這似乎解決了模態的問題繼續按鈕沒有通過URL。不解決http和www行爲之間的問題,但這是一個開始,我很感謝幫助! – Zendiko