2009-08-18 8 views
7

Jeśli pójdę do this strony, a następnie usunąć URL z paska adresu przeglądarki, a następnie wprowadźJak uniemożliwić wykonanie javascript z paska adresu przeglądarki?

javascript:document.getElementById('rsidebar').value='dsf'; 

Cała odświeża części. Jak mogę zapobiec odświeżaniu strony podczas wykonywania javascript z paska adresu?

Czy istnieją również inne techniki manipulowania stroną bez dostępu do źródła strony, jak w powyższej metodzie?

Odpowiedz

10

Nie, nie można zatrzymać użytkownika od manipulowania DOM.

Nie musisz martwić się o ludzi manipulujących DOM od strony klienta. Te zmiany wpływają tylko na lokalne wrażenia. W rzeczywistości nie wpływają one na Twoją witrynę dla innych użytkowników.

Możesz łatwo manipulować DOM za pomocą narzędzi takich jak Firebug, IEDeveloperToolbar lub Greasemonkey (silnik JavaScript).

+0

tak wiem, tylko głód wiedzy. każda inna technika może zrobić to dla lokalnego doświadczenia? – cometta

+0

@David, zaktualizowałem moją odpowiedź. Zobacz pierwszą linię;) – Sampson

+0

=) Wiem również, że można użyć narzędzia takiego, jak wspomniałeś. =) co, jeśli korzystasz z przeglądarki bez narzędzi. możliwy? iframe? – cometta

0

Dla Q1: Myślę, że to nie jest możliwe, ponieważ przeglądarka uruchamia każdą stronę internetową w swoim „piaskownicy”

Dla Q2: Wierzę Firebug pozwoli Ci wykonać skrypt na dowolnej stronie internetowej ...

0

Pytanie 1: Jak powiedzieli wcześniejsi respondenci, nic nie możesz zrobić Nie sądzę.

Pytanie 2: Sprawdź bookmarklets, niektóre bardzo fajne rzeczy można zrobić, uruchamiając własny JavaScript wobec stron z różnych stron. Ludzie pisali bookmarkletów aby podświetlić rzeczy na stronie, umieścić wskaźniki ostrzegawcze obok linki, które otwierają się w nowym oknie lub przejdź do APDF itp

7
  1. Kiedy robisz javascript:stuff(); i stuff() wytwarza wartość zamian cała strona zostanie zastąpiona przez tę stronę. Można temu zapobiec stosując javascript:void(stuff()); lub javascript:stuff();void(0);
  2. już odpowiedział przez innych :)
+0

'javascript: void (stuff());' jest kluczem do pytanie jeden – gnarf

+0

Havenard, jesteś tutaj?!?! Uwaga: nie musisz używać nawiasów przy użyciu void, to operator, więc javacript: void doStuff(); też jest w porządku. – Cleiton

Powiązane problemy