Как я могу внедрить Javascript в сайт, а затем убедиться, что он совместим с разными браузерами? - PullRequest
4 голосов
/ 20 июня 2011

Я выполняю некоторые контрактные работы, в которых мне нужно написать небольшие фрагменты Javascript для клиентских сайтов, а затем убедиться, что они работают во всех браузерах.

У меня нет доступа к самим серверам сайтов, поэтому мне нужно иметь возможность вставлять фрагменты другим способом.

Я попытался написать прокси-скрипт на PHP, который захватывает исходный код сайта, абсолютизирует все URL-адреса, а затем внедряет Javascript и работает на некоторых клиентских сайтах (и имеет то преимущество, что его легко тестировать в нескольких браузерах).

Но некоторые Javascript-сайты не работают с таким подходом - они будут делать такие вещи, как тестирование window.location, чтобы убедиться, что он не подделан, или они будут включать ссылки на файлы на локальном сервере. что прокси-скрипт не может фильтровать.

В качестве альтернативы, я полагаю, я мог бы использовать Greasemonkey для инъекции Javascript ... что позволило бы мне увидеть, как код выглядит в Firefox, но как мне проверить, скажем, в IE6?

Кто-нибудь может предложить способ кросс-браузерной разработки Javascript, когда у вас нет доступа к сайту, на котором в конечном итоге будет находиться Javascript?

Ответы [ 3 ]

9 голосов
/ 20 июня 2011

Вы можете использовать букмарклет , чтобы вставить свой JavaScript, вставив тег script.

Сам код будет выглядеть примерно так:

(function() {
    var d = document,
        s = d.createElement('script'),
        t = d.body || d.getElementsByTagName('head')[0] || d.documentElement;
    s.src = "http://path/to/your/script.js";
    t.appendChild(s);
})();

Затем просто добавьте его в закладки (поищите «Bookmarklet Maker», и вы найдете группу, которая сделает всю работу за вас).Вы добавляете результат в закладки, посещаете страницу, на которой хотите протестировать, и нажимаете на закладку, чтобы выполнить тестирование.

Например:

javascript:(function(){%28function%28%29%20%7Bvar%20d%20%3D%20document%2Cs%20%3D%20d.createElement%28%27script%27%29%2Ct%20%3D%20d.body%20%7C%7C%20d.getElementsByTagName%28%27head%27%29%5B0%5D%20%7C%7C%20d.documentElement%3Bs.src%20%3D%20%22http%3A//jsbin.com/ajubo4%22%3Bt.appendChild%28s%29%3B%7D%29%28%29%3B})();

Если вы скопируете это в URL закладки,когда вы активируете закладку в любом крупном браузере, он загружает простой скрипт из http://jsbin.com (который вы можете найти здесь ), который выдает предупреждение о количестве элементов p на странице.,(На данный момент их 23 на этой странице.)

1 голос
/ 01 ноября 2011

Одним быстрым и простым решением является использование Privoxy .

0 голосов
/ 20 июня 2011

Вы можете попробовать использовать jQuery с плагином jsShell от hugoware.Затем вы можете использовать Chrome для применения jQuery к уже загруженным страницам.jQuery должен быть совместим с разными браузерами.

http://hugoware.net/projects/jsshell

...