UnsafeWindow: Difference between revisions
From GreaseSpot Wiki
Jump to navigationJump to search
m sentence-per-line for (future) diffs, spelling |
Switbd like these posts most of all |
||
Line 2: | Line 2: | ||
{{security}} | {{security}} | ||
Switbd like these posts most of all | |||
== Examples == | == Examples == |
Revision as of 20:56, 6 May 2012
This command can open certain security holes in your user script, and it is recommended to use this command sparingly.
Please be sure to read the entire article and understand it before using it in a script.
Switbd like these posts most of all
Examples
unsafeWindow.SomeVarInPage = "Testing";
unsafeWindow.SomeFunctionInPage("Test");
var oldFunction = unsafeWindow.SomeFunctionInPage; unsafeWindow.SomeFunctionInPage = function(text) { alert('Hijacked! Argument was ' + text + '.'); return oldFunction(text); };
Alternatives to unsafeWindow
Sometimes, you just can't get around using unsafeWindow. Most of the time, however, you can! See Category:Coding Tips:Interacting With The Page for details on various methods to interact with the page that do not use unsafeWindow.
Notes
BUG: In Firefox 3.0 the prototype field will always be undefined for objects accessed through unsafeWindow. The techniques in Category:Coding Tips:Interacting With The Page can work around this problem.