Débogage l'élément URL de base avec Firebug
-
06-09-2019 - |
Question
J'ajoute à la tête de document à l'aide JS, de sorte que le liens relatifs sur le travail de la page. Mais il ne prend pas effet et Firebug (addon Firefox pour le débogage) montre l'élément <BASE />
grisés .. pourquoi? Est-ce que cela signifie Firefox ne peut pas le comprendre ou la syntaxe est incorrecte?
image http://www.freeimagehosting.net/uploads/a3122c1ddd.png
La solution
http://www.w3schools.com/TAGS/tag_base.asp
la balise de base a deux composants href et cible. Vôtre semble bien. coold vous donner un exemple des liens sur lesquels il est échec?
voir http://ashita.org/StackOverflow/base_test.html pour une démonstration . (Mon test)
Edit: voir les commentaires
function addBase(url) {
var regex = /^(https?|ftp):\/\//;
var a = Array.prototype.slice.call(document.getElementsByTagName('a'),0);
var link = Array.prototype.slice.call(document.getElementsByTagName('link'),0);
var script = Array.prototype.slice.call(document.getElementsByTagName('script'),0);
var img = Array.prototype.slice.call(document.getElementsByTagName('img'),0);
var hrefs = a.concat(link);
var srcs = img.concat(script);
var element,href,src;
for (var i=0,len=hrefs.length;i<len;++i) {
element = hrefs[i];
href = element.getAttribute("href");
if (href) {
if (!regex.test(href)) {
href = (url + "/" + href).replace("//","/"); //to handle double slash collision
element.setAttribute("href",href);
}
}
}
for (var i=0,len=srcs.length;i<len;++i) {
element = srcs[i];
src = element.getAttribute("src");
if (src) {
if (!regex.test(src)) {
src = (url + "/" + src).replace("//","/"); //to handle double slash collision
element.setAttribute("src",src);
}
}
}
}
Testé et travailler dans firefox
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow