/ Published in: jQuery
on using any wysiwyg editor (f.e. CKEditor) is inserted link to anchor on same page in this form: [a href="#anchor"]text[/a]
if on web site is used tag BASE, anchors links are wrong - on all page are on this url: www.domain.com/#anchor
this function repair this anchor link to correct url
if on web site is used tag BASE, anchors links are wrong - on all page are on this url: www.domain.com/#anchor
this function repair this anchor link to correct url
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
jQuery.repairLink2Anchor = function() { // exists tag BASE if ($("base").length) { // regular expression for anchor link var re1 = /#([\w-]+)/; // anchor parts var re2 = /^#([\w-]+)/; // only anchor // read current url var thisUrl = document.location.href; // remove anchor from current url thisUrl=thisUrl.replace(re1,""); // inicialization var href = ''; var anchor = ''; // loop all A tags whith attribute href $("a[href]").each(function(){ href = $(this).attr("href"); // check - href is anchor? if (re2.test(href)) { anchor = href.match(re2); $(this).attr("href", thisUrl + '#' + anchor[1]); } }); } } /* start this jQuery function with: $.repairLink2Anchor(); */