2017-04-04 13 views
1

私のページのテキストを別のテキストとリンクで置き換えるスクリプトを取得しようとしています。コードがなければ、ページは正常に動作し、カートに追加、製品番号(mouseoverコマンドで駆動される)を検索するなどの作業を行うことができます。コードは正常に動作し、テキストがリンクで置き換えられ、しかし、コードを挿入すると、ページはユーザー入力に続くコードを実行しなくなります(つまり、製品番号を検索する)。私のページのコードは、実行中のページ上のコードを停止します

これが私のページを壊す原因は何ですか?私はもともとdocument.onloadを使用していた

window.addEventListener ? 
window.addEventListener("load",Name,false) : 
window.attachEvent && window.attachEvent("onload",Name); 
function Name(){ 
    if (document.getElementsByTagName('body')[0].innerText.indexOf("Text") > 
-1) { 
     var Var1 = document.getElementsByTagName('body')[0].innerHTML; 
    var Var2 = Var1.replace(/Text/gi,"<a href = 
\"https://www.example.com\">NewText;</a>"); 
    document.getElementsByTagName('body')[0].innerHTML = Var2; 

} 

} 

、私はwindow.onloadを試してみた、および他のいくつかのイベントハンドラは、すべてが、ページを破りました。私はapploading onloadが正しい方法であることを読んで、あなたがここに表示されているコードにそのコードを組み込んだのですが、私が取ったこれらのステップのどれもが問題を解決していません。

+0

'function(){'これは構文エラーです。その関数に名前を付ける必要があります。 'function funcNameHere(){'のようなもの – Titus

+0

タイタスに感謝します。私はオリジナルのコードで、フォーラムのためにすべてのものを一般化していたときに入力するのを忘れてしまった。私は私の投稿を編集したが、まだ問題がある。 – TomM0419

+0

あなたのコードをここに入れれば、マークからすぐにいくつかの問題が表示されます。 http://jshint.com/ – Yoda

答えて

0

ボディのinnerHTMLを置き換えると、読み込み後にコードが実行されないように、私のページが(未知の理由で...これは四角形のサイトです)したがって、上記のコードは(いくつかの構文上の問題にもかかわらず)機能しましたが、ページを壊しました。

これは、私の要素が含まれている正しいものを見つけるために、いくつかの推測とチェックをしたクラス別のより特定の要素を対象にして修正しました(ただし、四角形領域を解読するのは難しい)

の作業コード:

window.addEventListener ? 
window.addEventListener("load",FuncName,false) : 
window.attachEvent && window.attachEvent("onload",FuncName); 
function FuncName(){ 
    if (document.getElementsByTagName('body')[0].innerHTML.indexOf("word") > -1) 
{ 
     var Var1 = document.getElementsByClassName('ClassName');  
     for (var i = 0; i < Var1.length; i++){ 
    var Var2 = document.getElementsByClassName('ClassName')[i].innerHTML; 
    var Var3 = Var2.replace(/word/gi,"<a href = 
\"http://www.example.com\">NewWord</a>"); 
    document.getElementsByClassName('ClassName')[i].innerHTML = 
Var3; 

私は別のクラスで探していますが、そこに行くの単語の複数のインスタンスをカバーするためにループを追加しなければなりませんでした。これは誰かが同様の問題に悩まされるのを助けることを願っています

関連する問題