সম্পূর্ণ অ্যালেক্সের উত্তর দেওয়া হয়েছে (ডিসেম্বর 13 '10)
এই কোডটি দিয়ে আরও একটি স্মার্ট ইঞ্জেকশন লক্ষ্য করা যেতে পারে:
/*
* For all links in the current page...
*/
$(document.links).filter(function() {
/*
* ...keep them without `target` already setted...
*/
return !this.target;
}).filter(function() {
/*
* ...and keep them are not on current domain...
*/
return this.hostname !== window.location.hostname ||
/*
* ...or are not a web file (.pdf, .jpg, .png, .js, .mp4, etc.).
*/
/\.(?!html?|php3?|aspx?)([a-z]{0,3}|[a-zt]{0,4})$/.test(this.pathname);
/*
* For all link kept, add the `target="_blank"` attribute.
*/
}).attr('target', '_blank');
(?!html?|php3?|aspx?)
গ্রুপ কনস্ট্রাক্টে আরও এক্সটেনশন যুক্ত করে আপনি রেজিএক্সপ্যাক্স ব্যতিক্রমগুলি পরিবর্তন করতে পারেন (এই রেজিপেক্সটি এখানে বুঝতে পারেন: https://regex101.com/r/sE6gT9/3 )।
এবং jQuery সংস্করণ ছাড়াই নীচের কোডটি চেক করুন:
var links = document.links;
for (var i = 0; i < links.length; i++) {
if (!links[i].target) {
if (
links[i].hostname !== window.location.hostname ||
/\.(?!html?)([a-z]{0,3}|[a-zt]{0,4})$/.test(links[i].pathname)
) {
links[i].target = '_blank';
}
}
}