Javascript на Greasemonkey, ограничения и ограничивающие факторы по сравнению с аддоном в Firefox / Chrome? - PullRequest
0 голосов
/ 04 сентября 2011

Отказ от ответственности: новичок Javascript кодировщик пытается использовать Greasemonkey; Я прочитал учебные пособия, но недостаточно понимаю используемый язык, чтобы я мог сосредоточиться и узнать, что нужно. Я надеюсь, что кто-то может мягко указать мне путь к тому, как я могу реализовать то, что я хочу.

Скажем, я хочу создать плагин, который применяет что-то к эффекту nyanit.com или bacolicio.us (примеры: http://nyanit.com/google.com или http://bacolicio.us/http://google.com).

Я понимаю, что в Javascript, когда я хотел бы применить эффект к странице, было бы:

<script type="text/javascript">

(function(doc, t) {
    var scr = doc.createElement(t);

    scr.async = true;
    scr.type = 'text/javascript';

    //  scr.src = ??work-in-progress??
    //pseudocode (need to figure this out too): if it's a website that allows framing 
    //then apply the nyancat, else don't apply or I'll muck it up.

    var r = doc.getElementsByTagName(t)[0]; r.parentNode.insertBefore(scr, r);
} (document, 'script'));
</script>

Так что я думаю, мои вопросы, в частности:

1) Для Greasemonkey после установки я создал файл, который имеет заголовок // информации пользователя, за которым следует пробел. Я предполагаю, что все, что мне нужно сделать, это скопировать мой скрипт и вставить его туда, и он должен работать? Существуют ли какие-либо ограничения и факторы, ограничивающие использование Greasemonkey javascript (по сравнению с наличием его в HTML страницы)?

2) Если я хотел, чтобы это было аддоном для Firefox, является ли надежным ли это инструментом конвертации или я должен продолжить практику написания аддонов для Firefox?

3) Если я хотел, чтобы это было аддоном для Chrome, я просто загружаю куда-нибудь .js (например, userscripts.org) и Google в идеале должен распознавать его как скрипт?

1 Ответ

2 голосов
/ 04 сентября 2011

1) По сути, вы получаете доступ к веб-странице через XPCNativeWrapper, поэтому у вас есть те же ограничения .Для кода здесь ни один из них не должен применяться, просто вставьте этот код в сценарий GreaseMonkey (без тегов <script>).

2) Да, компилятор сценария будет работать нормально.

3) Да, Chrome поддерживает большинство сценариев GreaseMonkey из коробки.

...