2012-01-05 39 views
1

http://battlelog.battlefield.com/の既定の犬タグイメージ(PNG)を自分のイメージで置き換えるユーザースクリプトを作成したいとします。 私はそれを行うためにいくつかの方法を試しましたが、どれもうまくいきませんでした。SVGイメージを置き換える方法またはdivコンテンツを置き換える方法は?

まず私は、次の試してみました:

var images = document.getElementsByTagName ("img"); 
var x=0; 
while(x<images.length) 
{ 
if(images[x].src == "http://battlelog-cdn.battlefield.com/public/profile/bf3/stats/dogtags/la/defaulttag_right.png?v=3173239") 
{ 
images[x].src = "http://site.com/test.png"; 
} 
x=x+1; 
} 

私は外部JSを含めるしたかったが、これはあまりにも失敗し、このdidntの仕事の後。 外部スクリプト:ここ

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
       $('dogtag2-render').load('http://root.x10.bz/cdn.html'); 
      }); 
     </script> 

は、imgタグが配置されているソースコードの抜粋です:

<div id="dogtag2-render"> 

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="320" height="200"> 

<desc>Created with Raphaël</desc> 

<defs></defs> 

<image x="10" y="0" width="256" height="148" preserveAspectRatio="none" href="http://battlelog-cdn.battlefield.com/public/profile/bf3/stats/dogtags/la/defaulttag_right.png?v=3173239"></image> 

</svg> 

</div> 


あなたは私が間違ってやっているものを私に教えていただけますか?

+0

あなたのスクリプトはまったく動作していますか? – c69

答えて

0

greasemonkeyスクリプトの代わりにコンテンツスクリプトを使用してみてください。 http://code.google.com/chrome/extensions/content_scripts.html

あなたはmanifest.jsonをでこれを指定した場合、それはあなたのページ上で実行されます:

{ 
"name": "My Extension", 
... 
"content_scripts": [ 
{ 
    "matches": ["http://battlelog.battlefield.com/"], 
    "js": ["jquery.js", "myscript.js"] 
} 
], 
... 
} 

を私はいくつかのjQueryを使用すると思います、そして、あなたの画像を見つけて、新しいものと交換する:

$(document).ready(function(){ 
$('img[src="the_old_images_src.jpg"]').attr('src','the_new_images_src.jpg'); 
}); 

希望すると助かります!

+0

病気これも試してください.thx – user1132063

0

あなたはその全体のdivをNukeのために喜んでいるので、このコードはあなたのために働くべきで、何のjQueryは必要ありません:

var dogtagDiv  = document.querySelector ("#dogtag2-render"); 
dogtagDiv.innerHTML = '<img src="http://site.com/test.png" />'; 




注最初の試みは<img>ために失敗したことをタグはSVG <image>タグと同じではありません。そのようにSVGドキュメントを操作できるかどうかはわかりません。

(1)$('dogtag2-render')$('#dogtag2‑render')である必要があり、(2)load()はクロスドメインでは機能しないため、2番目の試みは失敗しました。

+0

ああ、私は見る...今それは動作します。ありがとうございました ! – user1132063

+0

ようこそ。この質問は今あなたの答えですか? –

関連する問題