在这种小提琴中,可以将href作为模式打开。但这会打开所有href。是否可以仅使用某些给定的id或class打开模式? 例如,如果a类是:openiframe
<a class="openiframe" href="https://www.website.com" class="btn btn-info btn-lg cta-open">External Link</a>
此小提琴适用于所有href。 https://jsfiddle.net/solodev/0dtmcaxh
js:
// Open external links in a popup modal notice
$(window).on('load', function(){
$.expr[":"].external = function(a) {
//var linkHref = a.hostname;
//var domainHref = location.hostname;
var linkhn = a.hostname.split('.').reverse();
var linkHref = linkhn[1] + "." + linkhn[0];
var domainhn = window.location.hostname.split('.').reverse();
var domainHref = domainhn[1] + "." + domainhn[0];
return !a.href.match(/^mailto\:/) && !a.href.match(/^tel\:/) && linkHref !== domainHref;
};
$("a:external").addClass("ext_link");
$(function() {
$('a.ext_link').click(function() {
// open a modal
$('a:external').attr('data-toggle', 'modal');
$('a:external').attr('data-target', '#speedbump');
//go to link on modal close
var url = $(this).attr('href');
$('.btn-modal.btn-continue').click(function() {
window.open(url);
$('.btn-modal.btn-continue').off();
});
$('.btn-modal.btn-close').click(function() {
$('#speedbump').modal('hide');
$('.btn-modal.btn-close').off();
});
});
});
});