web-dev-qa-db-ja.com

javascriptを実行する前にWebページのhtmlを事前編集できますか?

スクリプトが間違った順序でロードされたためにクライアント側のJavaScriptエラーが発生したこのWebサイトを表示しています。問題は私がこのソースを所有していないことですが、私は本当にできるだけ早くサイトを使用する必要があります。

ブラウザでこれを修正し、ページを引き続き使用できるようにするブラウザ/ブラウザプラグインはありますか?問題は、これがhead要素にロードされているため、htmlを変更すると、JSエラーがすでに発生していることです。そして、変更を(少なくともクロムで)更新すると、ローカルの変更が消えてしまいます。

具体的には、htmlは次のようになります。

<script 
    language="javascript" 
    src="/scripts/util.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/prototype.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/scriptaculous.js" 
    type="text/javascript"></script>

バグを修正するには、次のようにする必要があります。

<script 
    language="javascript" 
    src="/scripts/scriptaculous/prototype.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/scriptaculous.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/util.js" 
    type="text/javascript"></script>

util.js一番下に移動しました。

2
Daniel Kaplan

これを行うには、serscriptを作成して、必要なJavaScriptを必要な順序でロードします。ユーザースクリプトは、他のJavaScriptの読み込みを含め、基本的にページ上の任意のJavaScriptを実行できます。唯一の懸念は、ブラウザがページに他のスクリプトをロードする前または後にユーザースクリプトを実行するかどうかです。 このスタックオーバーフローの質問 これを行う方法があることを(2番目の答え)暗示しているようです。

単純なユーザースクリプトでは、前述のメソッドとdocument.writeコマンドを使用して、ページが他のJavaScriptを解析する前に、必要に応じて新しい<script>要素を挿入します。

1
nhinkle