問題は何ですか?ハイパーリンクの不要なプレフィックスInternet Explorer [Javascript]
私のコードはInternet Explorer(驚き)でしか正しく実行されません。以下の短いコードは、各 "a"タグに "onclick"アクションを追加する必要があります。これはうまくいきますが、5行目を見ると、2番目の関数引数をアンカータグの "href"属性の値に設定する必要があります。 WebKit、Mozillaなどでは問題ありません。 "href"を "lorem_ipsum"と設定し、MozillaなどのWebKitが正しい結果を取得し、2番目の関数引数を "lorem_ipsum"に設定した場合、Internet Explorerの接頭辞 "http://www.some.site/"が返され、2番目の引数として "http://www.some.site/lorem_ipsum"アンカータグの実際の値の「href」属性ではないため、Internet Explorerが正しくありません。
Anchors=Parent.getElementsByTagName("a");
Anchor=0;
while(Anchor<Anchors.length){
Anchors[Anchor].onclick=function(){
Plot("",this.getAttribute("href"));
return false;
};
Anchor++;
};
この不条理な問題を回避するにはどうすればよいですか?最後のスラッシュの前にすべての文字列を取り除く必要がありますか?それは長い間巻き込まれたアプローチのようです!何か案は?
感謝。私はなぜそれが起こったのか、どのようにそれを修正したのかを見ることができるように答えを説明してください。 KR、Jay – Jay
location.hrefは、現在のウィンドウのURLを含む事前定義された変数です。リンクからHREF属性を取得し、この値が含まれている場合は、それを取り除くために部分文字列を使用します。シンプル。 –
ページにBASEタグが指定されているとうまくいかないと思います。 getAttribute(HREF)が完全修飾URLを返す問題は、IE8標準モードで修正されていると私は考えています。 http://msdn.microsoft.com/en-us/library/ms535173%28VS.85%29.aspx# – EricLaw