Могу ли я вызвать Javascript букмарклет поверх изображения в окне браузера. e.g.:blah.com/blah.jpg? - PullRequest
1 голос
/ 11 октября 2011

Если я нахожусь по URL-адресу ... скажем http://i.imgur.com/JcxmE.jpg, где это просто файл изображения, как я могу заставить окно / div появляться над изображением при вызове букмарклета? Instapaper делает это. Пока что мой букмарклет загружает внешний файл javascript, который, в свою очередь, создает div и добавляет его в тело. Это не работает, когда это просто изображение. Идеи? Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 октября 2011

Хорошо, похоже, что Firefox по-прежнему отображает DOM даже над изображениями. Пример hello world работает только в том случае, если вы вставляете его в букмарклет, но не прямо в строке URL.

Вот пример, который должен работать, пока ваш браузер отображает DOM даже на чистых URL-адресах изображений. Он вставит изображение внутри элемента контейнера.

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);
})();
0 голосов
/ 11 октября 2011

Ну, похоже, вы не можете, по крайней мере, в Firefox. Даже такая простая вещь, как javascript:alert('Hello World');, не работает с изображением. Попробуйте этот код для себя.

...