2011-06-20 17 views
4

私はクライアントサイト用のJavascriptのスニペットを作成し、すべてのブラウザで動作するようにする必要があるいくつかの契約作業を行っています。Javascriptをサイトに挿入して、ブラウザ間で互換性があることを確認するにはどうすればよいですか?

サイトのサーバー自体にアクセスできないため、他の方法でスニペットを挿入する必要があります。

私はPHPでサイトのソースコードを取得し、すべてのURLを絶対化してから、JavaScriptを注入し、いくつかのクライアントサイトで動作するプロキシスクリプトを作成しようとしました(複数のブラウザで簡単にテストできるという利点があります) 。

しかし、いくつかのJavascript重いサイトはこのアプローチでは機能しません。彼らは偽装されていないことを確認するためにwindow.locationをテストするようなことをやるか、ローカルのファイルへの参照を含めますプロキシスクリプトがフィルタリングできないサーバ。

代わりに、私はGreasemonkeyを使ってJavascriptを注入することができたと思います。これはFirefoxでどのようにコードがどのように見えるかを表示しますが、IE6でどのようにテストすればいいですか?

誰かが、Javascriptが最終的に存在するサイトにアクセスできないときに、クロスブラウザのJavascript開発を行う方法を提案できますか?

答えて

9

bookmarkletを使用して、scriptタグを注入してJavaScriptを挿入することができます。

(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); 
})(); 

それからちょうどそれをブックマーク-IFY(「ブックマークレットメーカー」を検索し、あなたがあなたのために仕事をするために束を見つけることができます):

コード自体は次のようになります。結果をブックマークし、テストしたいページにアクセスし、ブックマークをクリックしてテストを行います。

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に、それは(あなたがhereを見つけることができます)http://jsbin.comから簡単なスクリプトをロードすることをコピーした場合、警告を行います。例えば

どのくらいの数のp要素がページにあるかを示します。 (このページには、現時点で23があります)

0

hugowareのjsShellプラグインでjQueryを試してみることができます。次に、chromeを使用して、すでに読み込まれたページにjQueryを適用できます。 jQueryはブラウザ間で互換性があります。

http://hugoware.net/projects/jsshell

1

一つの迅速かつ簡単な解決策は、Privoxyを使用することです。

関連する問題