, ben bu gibi bazı komut enjekte etmek istiyorum beyan ederiz:Chrome uzantısında, içerik komut dosyaları iframe içinde etkilenemez mi? manifest.json dosyasında
İçerik komut olarak{
"name": "my extension",
"version": "1.0",
"background_page": "background.html",
"permissions": ["contextMenus", "tabs", "http://*.example.com/*"],
"content_scripts": [
{
"matches":
[
"http://*.taobao.com/*",
"http://*.yintai.com/*"
],
"run_at": "document_idle",
"js": ["jquery-1.5.1.min.js","jquery-ui-1.8.13.custom.min.js", "contentscript.js"],
"all_frames": true
}
]
}
, başka şeylerin yanı sıra bir iframe oluşturmak. Şimdiye kadar iyi çalışıyor. Şunun gibi:
$('<div id="my_notifier"></div>').appendTo($('body')).html('<iframe src="http://example.com"></iframe>');
sorun, iframe içinde, bu içerik komut bir şey miras değil almaktadır. JQuery'yi kullanmak istersem, iframe içine tekrar eklemek için <script src=...
kullanmalıyım.
JQuery'yi tekrar eklememeyi tercih ediyorum çünkü zaten uzantıya ekledim. Kullanıcının, uzantının çalışması için ihtiyaç duyduğu her sayfada jQuery'yi tekrar tekrar indirmesini istemiyorum.
"all_frames": true
özniteliğini denedim, ancak çalışmıyor.
Lütfen bildiriniz. Teşekkürler.
Düzenleme:
"content_scripts": [
{
"matches":
[
"http://*.taobao.com/*",
"http://*.yintai.com/*",
"http://*.example.com/*"
],
"run_at": "document_idle",
"js": ["jquery-1.5.1.min.js","jquery-ui-1.8.13.custom.min.js", "contentscript.js"],
"all_frames": true
}
]
Ama çalışmıyor: Böyle matches
öznitelik için example.com ekledi. Eğer mecbur $, o iş yapmak için
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<div></div>
<script type="text/javascript">
$('div').html('hi');
</script>
</body>
</html>
bir hata olacaktır:
iframe (example.com) içeriği olduğunu söylemek, daha net olmak gerekirse kullanın:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<div></div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$('div').html('hi');
</script>
</body>
</html>
iframe'i oluşturan 'all_frames' kümesi ve içerik komut dosyanızla tam manifestinizi gösterebilir misiniz? – serg
Tamam, soruyu düzenledim. – Betty
Hey Betty, şimdi Serginin ilk sorunu çözdüğünü, bu sorunun çerçeveye erişmesini beklemek için beklemede bu soruya bir göz atın: http: // stackoverflow.com/questions/4669089/nasıl yapılır-enjekte-bir-iframe-panel-to-google-chrome-uzantısı-ve-add-click-olayı- – Darin