我有一些HTML,它有一个图像标记和一些像这样的jQuery:
<body>
<img id="MainImage" src="../img/MainImage.png" style="position: absolute;">
<script type="text/javascript">
$(document).ready(function() {
var $img = $("#MainImage");
$img.hide();
$('div').mousemove(function(e) {
if ($(this).attr('align') === 'center') {
// only show if the align attribute has value center
$img.fadeIn(0);
$img.offset({
top: e.pageY - $img.outerHeight()-2,
left: e.pageX - ($img.outerWidth()-18)
});
}
}).mouseleave(function() {
$img.fadeOut(250);
});
</script>
</body>
我也有这个清单文件,其中包含以下代码:
{
"name": "Div Image Test",
"version": "1.0",
"manifest_version": 2,
"permissions": [
"tabs", "http://*/*"
],
"content_scripts": [{
"matches": ["http://*/*"],
"js": ["js/CoreTest.html"],
"run_at": "document_end"
}]
}
这个脚本/扩展名的用途是,每当用户将鼠标悬停在任何div上(使用HTML属性“align ='center'”)时,鼠标光标旁边会弹出一个图像...这已经有效但是什么我需要做的是在安装扩展程序时将脚本/ HTML文件插入到每个网页的“body”标签中。
我怎样才能做到这一点?
提前致谢。
答案 0 :(得分:1)
我不知道如何在Chrome扩展程序中执行此操作,但是,如果您对用户脚本感到满意:
创建一个文件,并在其顶部放置一个描述您的应用程序的用户标题,并为您命名等。 然后,您可以使用JS(img标签)创建所需的所有元素,并将悬停绑定到所有imgs。我自己编写了这样一个脚本,但对于Instapaper。这是来源:
instalater.user.js
// ==UserScript==
// @name Instalater
// @namespace http://jcla1.com
// @description Read Later for Instapaper
// @include *
// ==/UserScript==
function load() {
code = document.createElement('script');
code.type = 'text/javascript';
code.innerText = "$(document).keydown(function(e){if (e.keyCode == 120){(function iprl5(){var d=document,z=d.createElement('scr'+'ipt'),b=d.body,l=d.location;try{if(!b)throw(0);d.title='(Saving...) '+d.title;z.setAttribute('src',l.protocol+'//www.instapaper.com/j/4VJPghE8ugQm?u='+encodeURIComponent(l.href)+'&t='+(new Date().getTime()));b.appendChild(z);}catch(e){alert('Please wait until the page has loaded.');}})();void(0);return false;}})";
document.body.appendChild(code);
};
jq = document.createElement('script');
jq.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
jq.type = 'text/javascript';
document.body.appendChild(jq);
setTimeout(load, 1000);