2017-08-26 6 views
0

誰かがiOSからページを呼び出す場合、hrefを置き換えようとしています。問題は、JavaScriptが検索されたテキストだけを置き換えるのではなく、すべての初期リンクを置き換えることです。たとえば、次のようにテキストを置き換えるだけでhrefタグを変更する方法

<a href="http://example.com" class='dynamicLink'>test</a> 

iOS搭載の携帯電話またはタブレットは、このリンクで

<a href="http://ios+example.com" class='dynamicLink'>test</a> 

を変更するには、しかし、JavaScriptはすべて

<a href="http://ios+" class='dynamicLink'>test</a> 

誰かが問題

window.onload = function changeLinks() { 
    var href = "http://ios+" 
    var links = 
     document.getElementsByClassName('dynamicLink'); 
    if (navigator.userAgent.match(/Android/i) || 
     navigator.userAgent.match(/webOS/i) || 
     navigator.userAgent.match(/iPhone/i) || 
     navigator.userAgent.match(/iPad/i) || 
     navigator.userAgent.match(/iPod/i) || 
     navigator.userAgent.match(/BlackBerry/i) || 
     navigator.userAgent.match(/Windows Phone/i) 
    ) { 
     for (var i = 0; i < links.length; i++) { 
      links[i].href = href.replace('http://', "http://ios+"); 
     } 
    } else { 
     for (var i = 0; i < links.length; i++) { 
      links[i].href = href.replace('http://', "http://"); 
     } 
    } 
} 
+0

を使用する:リンクを交換するが、hrefは、この方法を試してみてくださいvar href = "http://ios+"

上記のように定義されますあなたはそのコードが行うことを期待...申し訳ありませんが、説明はかなり乱雑です – Alessio

答えて

2
をご存知を置き換えます

あなたは0123を使用していますそれは何をすべきか私にははっきりしていない

for (var i = 0; i < links.length; i++) { 
    links[i].href = links[i].href.replace('http://',"http://ios+"); 
    } 

あるいはこの、実際にこのhref

for (var i = 0; i < links.length; i++) { 
    links[i].href = links[i].href.replace('http://', href); 
    } 
+0

神はあなたに大変感謝します、私は問題がどこにあったのかわかりませんでした – d00nn1234

関連する問題