Here's your chance to test your defenses against various forms of Javascript stupidity. I've put together a series of simple tests to let you safely verify that certain functionality is blocked before venturing out onto that favorite XXX site. :) If you haven't already, please look at the Tame Javascript filter and its long-winded explanation before proceeding.
If you came here unprepared and got a pop-up window to somewhere-else.invalid, don't worry. I specifically chose a non-existent site to minimize the damage in case your filters aren't yet up to snuff.
With that out of the way, let the fun begin. Most of these tests will attempt to modify your desktop in obvious ways like opening a new window or by putting a message in the status bar. Some change the contents of the "Message" form fields below. In most cases the attempt should fail. The rightmost columns are my results with the current incarnation of Tame Javascript, start.js, and end.js using the various browsers I have lying around. The tests that say n/a are those that seem to pass even with no protection, so either the browser doesn't support that particular obnoxious Javascript feature, or more likely, there's something wrong with my code.
Obviously, for these tests to be meaningful, you must have Javascript enabled. If you don't want to enable it, congratulations! You're automatically safer than any filter can ever make you, but you can safely ignore the tests on this page. Otherwise, use the button below to reset your status bar if some message gets stuck in it.
| Test method/object property/element |
Description | O_W 5.12 | IE 4.01 | O_L 5 | Moz 0.9.1 |
|---|---|---|---|---|---|
| OnLoad / BODY | There should be no text in the Message box when this page is loaded. | pass | pass | pass | pass |
| OnUnload / BODY | No new window should appear when leaving this page. | pass | pass | pass | pass |
| OnClick / BODY | Clicking the text should not modify the Message field. (If this test fails you may not be able to take any of the others until you fix it.) | pass | pass | pass | pass |
| status / window | Hovering your mouse over the link should show the url (js_test.html), not the custom status message (Hello!). | pass | pass | pass | pass |
| / window | This button should have no effect on the window status bar. | pass | pass | pass | pass |
| / window | This button should have no effect on the window status bar. | pass | pass | pass | pass |
| OnMouseover / A | Hovering your mouse over the link should not cause the Message field above to change. | pass | pass | pass | pass |
| OnClick / A | Clicking the text should modify the Message field | pass | pass | pass | pass |
| / window (cross domain) |
This button should do nothing. | pass | pass | pass | pass |
| / window (same domain) |
This button should take you to index.html without opening a new window. If a window to http://somewhere-else.invalid/ appears, you just flunked the OnUnload test. | pass | pass | pass | pass |
| / window | This button should do nothing, even after one second has passed. | pass | pass | pass | pass |
| / window | This button should do nothing, even after one second has passed. | pass | pass | pass | pass |
| OnSelect / BODY | Selecting the text for copying should not affect the Message field. | n/a | n/a | n/a | n/a |
| / window | This button should not cause your browser window to resize. | pass | pass | pass | pass |
| / window | This button should not cause your browser window to resize. | pass | pass | pass | pass |
| / window | This button should not cause your browser window to move. | pass | pass | pass | pass |
| / window | This button should not cause your browser window to move. | pass | pass | pass | pass |
| / window | This button should not cause your browser window to scroll. | pass | pass | pass | pass |
| / window | This button should not cause your browser window to scroll. | pass | pass | pass | pass |
| history / window | Your history for this window should not be visible here: | pass | pass | pass | pass |
| referrer / document | The value of referrer below should be bogus: |
pass | fail | pass | pass |
| target=_blank / A | This link should not open in a new window. | pass | pass | pass | pass |
| target=blahblah / A | This link should not open in a new window. | pass | pass | pass | pass |
| / window | This button should not cause the window to lose focus. | pass | pass | pass | pass |
| / window | Click this button, then quickly select another browser window. The focus should not jump back to this window after a short period of time. | pass | pass | pass | pass |
| OnResize / window | Resizing your browser window should not affect the Message field. | n/a | n/a | n/a | n/a |
| OnMove / window | Moving your browser window should not affect the Message field. | n/a | n/a | n/a | n/a |
This is a cached copy of http://www.geocities.com/u82011729/prox/js_test.html