2011-09-15 15 views
-3

動作しません。ただし、そのリンクをクリックしても機能しません。私は多くの文書を読んでいますが、私はそれを働かせる方法を見つけることができなかったので、誰もそのような問題はなかったと思います。のGreasemonkey中(unsafeWindowと)私の定義された変数は、私は私のGreasemonkeyスクリプトによってウェブサイトにこのようなリンクを追加したい

また、私はこの方法を試してみました:

myScript = document.createElement('script'); 
myScript.setAttribute("type", "text/javascript"); 
myScript.setAttribute("language", "javascript");; 
myScript.textContent = "var myGlobalVar = 'Hello world!';"; 

document.body.appendChild(myScript); 
document.body.removeChild(myScript); 

もちろん、これはあまりにも動作しませんでした。

どの部分が欠落していますか?私はaddEventListenerでそのonClickのプロパティを修正しようとしましたが、それはうまくいきませんでした。あなたはこれをチェックすることができます

http://jsfiddle.net/C65rm/ を私はここから直接コードのjavascriptの一部をコピーした:ところでhttp://wiki.greasespot.net/UnsafeWindow

、私は最後に、実際に私はグローバル変数を定義しようとしているわけではないことを言いたいですグローバル関数を定義しようとしています。ここの例では、理解のために変数を使用しました。

ありがとうございます。

+0

「動作しませんでした」**何が起こったのですか?** –

+0

クリックすると、警告は表示されません。私はこの問題が私のFirefoxのバージョンと何か関係があるのだろうかと思います。 6.0.2 – Nail

+0

実行可能なデバッグがさらにあります。 Javascriptコンソールには何が表示されますか? (あなたはFirebugを使用していますか?)コードの実行の進行状況をトレースするために関数全体にデバッグコードを配置しましたか? –

答えて

0

解決済み。 この愚かな問題に苦しんでいる人がいたら、ここに私のソリューションを投稿しています。

var myDiv = document.createElement("div"); 
myDiv.innerHTML = "<a href='#' onclick='myFunc();'>Alert</a>"; 
document.body.appendChild(myDiv); 

unsafeWindow.myDiv = function() { 
    myGlobalVar = "Hello world!"; 
    alert(myGlobalVar); 
}; 

私の目的は、ウェブページの一部のonClickイベントに(私のスクリプトで定義されている)のjavascript機能を追加しました。したがって、上記のコードはFirefoxで動作しました。

関連する問題