我可以在浏览器窗口中的图像上调用Javascript书签。 e.g.:blah.com/blah.jpg?

时间:2011-10-10 23:35:20

标签: javascript image bookmarklet

如果我在网址上...说http://i.imgur.com/JcxmE.jpg它只是图像文件,那么当调用书签时,如何在图像上显示窗口/ div? Instapaper就是这样做的。 到目前为止,我的bookmarklet加载了一个外部javascript文件,该文件又创建了一个div并将其附加到正文。 当它只是一个图像时,这不起作用。 想法? 谢谢!

2 个答案:

答案 0 :(得分:0)

好吧,它看起来不像你可以,至少在Firefox中不行。即使像javascript:alert('Hello World');这样简单的事情也不适用于图像。亲自试试这段代码。

答案 1 :(得分:0)

好吧,看起来firefox仍然会在图像上呈现DOM。 hello world示例仅在您将其粘贴到书签中时才有效,但在URL栏中不能直接。

只要您的浏览器即使在纯图片网址上呈现DOM,这个示例也应该有效。它会将图像插入容器元素中。

javascript:(function(){
  var doc = document,
      image = doc.getElementsByTagName('img')[0],
      container = doc.createElement('div');

  doc.body.removeChild(image);
  container.appendChild(image);
  doc.body.appendChild(container);
})();