Букмарклет Документов Google вызывает сообщение об ошибке

Я обнаружил, что если вы попытаетесь изменить текстовый редактор Google Docs, добавив собственные скрипты, это вызовет ошибку в момент переноса текста на новую строку или при нажатии клавиши Enter.

Проблема может быть повторена путем включения любого скрипта или CSS в dom (пример ниже). Я пробовал это в Firefox 3.6 и Safari. Ошибка возникает, даже если файл js пуст.

Это серьезно мешает возможности добавлять букмарклеты в документы Google, есть ли у кого-нибудь идеи, как этого избежать? ... или это только я?

javascript:d=document,e=d.createElement('script');e.src='http://www.domain.org/dummy.js';void(d.body.appendChild(e));

person BigBadOwl    schedule 25.05.2011    source источник


Ответы (1)


Мне не удалось воспроизвести указанную проблему - у меня работает инъекция скриптов. Интересно, заботится ли Google Docs о DOM до такой степени, что неожиданные дополнительные элементы DOM каким-то образом мешают ему?

Одна из идей - добавить скрипт / стиль в <head>, а не в тело документа, например:

javascript:(function(d,s){s=d.createElement('script');s.src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';d.getElementsByTagName('head')[0].appendChild(s);})(document)

Надеюсь это поможет!

person jimbo    schedule 02.06.2011
comment
Спасибо jimbojw, я пробовал это. Я также обнаружил, что после загрузки скриптов вы можете удалить их из заголовков, и код продолжит работу. Я надеялся, что смогу вставить их и вынуть, если будут отслеживаться изменения DOM. Но никаких кубиков. - person BigBadOwl; 23.06.2011