0

ページ内のすべての .gif 画像を、既に持っている画像 URL に置き換える方法を知りたいです。私は多くの解決策を見てきましたが、どれも私を助けることができませんでした.

編集:混乱を招いていたため、古いコードを削除しました

それで、誰もこれを行う方法を知っていますか?jQuery を Tampermonkey で適切に動作させることができないため、純粋な JS の方が適しています。

編集 2: 別のコードを動作させることができましたが、画像の URL を置き換えるのではなく、追加するだけです。

    var theImages = document.getElementsByTagName('img');

    for(i=0; i<theImages.length; i++) {
        if(theImages[i].src.indexOf('.gif') != -1) {
        theImages[i].src = ('imageurl.jpg')}
}
4

4 に答える 4

1

jqueryのアプローチ

$("img").each(function(){
$(this).attr('src',$(this).attr('src').replace(".gif", ".jpg"));
});

参考までに、Xmonkey で jquery またはその他の js ライブラリを使用するには、単純に追加します。

// @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js==UserScript==ヘッダー に。競合が発生した場合は、オンにするとjQuery.noConflict();役立つ場合があります。

于 2013-04-19T03:26:11.157 に答える
1

この行を見てくださいvar image_png_src = image_png_src.replace(".gif", "image.jpg");image_png_srcはまだ定義されていませんが、置換プロパティを呼び出そうとしています。image_gif_srcおそらく代わりに使用したい方法。

var image_png_src = image_gif_src.replace(".gif", "image.jpg");
于 2013-04-19T02:58:23.953 に答える
1

画像が同じ名前で、拡張子を変更したいだけだと仮定すると、コードはほぼ正しく、小さな間違いを犯しただけです。正しいバージョンは次のとおりです。

var images = document.getElementsByTagName("img");

for (var i = 0; i < images.length; i++) {
    var image_gif_src = images[i].src;
    var image_png_src = image_gif_src.replace(".gif", ".jpg");
    images[i].src = image_png_src;
}

for ループの 2 行目が?image_png_src.replaceに置き換えられていることに注目してください。image_gif_src.replace間違った変数を置き換えようとしました。また、変更するイメージの最後に「イメージ」という単語を追加するのではなく、拡張子を変更することだけを意味していると想定しているという理由"image.jpg"だけで、元の例を に変更しました。".jpg"

拡張子を変更するだけでなく、すべての gif を別の画像に変更したい場合は、次のコードで実行できます。

images[i].src = image_png_src;

for (var i = 0; i < images.length; i++) {
        if( images[i].src.indexOf(".gif") > -1){
             images[i].src = "New Image.jpg";
        }
    }
于 2013-04-19T02:58:58.387 に答える
0

そこで、次のスクリプトを使用して動作させました。

var theImages = document.getElementsByTagName('img');

for(i=0; i<theImages.length; i++) {
    if(theImages[i].src.indexOf('.gif') != -1) {
    theImages[i].src = ('imageurl.jpg')}
}

助けてくれたみんなに感謝します。

于 2013-04-19T03:22:09.437 に答える