0

すべてのコンテンツを制御できない Web サイトがあります。一部のコードを置き換えたいのですが、機能する唯一の方法が他のすべてを台無しにしているようです。(ページがスクリプトを超えて読み込まれない、他のすべての JavaScript が機能しないなど)

サイトは印刷屋なので、商品ごとにIDがあるのですが、全部変更したいです。

これは、画像のいくつかの属性を置き換えたいコードの例です。私が制御できないサーバーによって生成されたコード。(私の質問を明確にするために編集され、画像の周りの完全なコードが追加されました。div、table、およびimgに焦点を当てるために編集されたインデント)

 <div id="divProduct">

       <div style="float:left;"><center>
 <table class="f2"><tr><td><a href='/diy/mousepad/small-mousepad-93' >
 <img  width='120' height='120' id='P276' src='http://c1.vip-stores.com/img/1-276-0-2-1'  alt='Small Mousepad' title='Small Mousepad' border='0' /><br>
         </a></td></tr></table>
         <a href='/diy/mousepad/small-mousepad-93' >Custom Small Mousepad</a>
         <br /><div class='fs_textsmallprice'>Price:$7.45</div><br />
         </center>
       </div>

       <div style="float:left;"><center>
 <table class="f2"><tr><td><a href='/diy/mousepad/large-mousepad-160' >
 <img  width='120' height='120' id='P465' src='http://c1.vip-stores.com/img/1-465-0-2-1'  alt='Large Mousepad' title='Large Mousepad' border='0' /><br>
         </a></td></tr></table><a href='/diy/mousepad/large-mousepad-160' >                 Custom Large Mousepad </a><br />
         <div class='fs_textsmallprice'>Price:$7.45</div>
         <br /></center>
       </div> 
ETC....

120 から 150 までのすべての画像の幅と高さを置き換え、0-2-1 から 0-1-1 までのすべての画像の src リンクの最後の 3 桁を置き換えて、より高い解像度のバージョンをロードします。

もちろん、IDを入力するとGetElementByIdが機能しますが、ページに読み込まれるすべての製品に影響を与えたいです。ストアには 1000 を超える製品があり、カテゴリや検索などに応じて表示されます。

以下はすべてを壊しているようで、使用するのは危険だと聞きましたが、動作します:

document.body.innerHTML = document.body.innerHTML.replace(/0-2-1/g, '0-1-1');

src や id などに何らかのワイルドカードを使用して、JAVASCRIPT でこれを安全に行うにはどうすればよいですか?

4

2 に答える 2

0

divProduct 内に他の画像がない場合は、これを使用できます。

mainWrapper = document.getElementById('divProduct');
setOfImages = mainWrapper.getElementByTagName('img');

for (var x=0; x< setOfImages.length; x++){
// your img is in setOfImages[i];
// your magic of changing stuff
}
于 2013-10-17T14:15:50.583 に答える