Wykonanie JS na innej stronie

0

Cześć, mam pytanie związane z wykonywanie kodu JS na innej stronie. Kiedy jestem na innej stronie, wpisuje taki kod w pasek przeglądarki:

javascript:(function(d) {var body = d.getElementsByTagName('body')[0]; var js = d.createElement('script');js.type = 'text/javascript';js.src = 'http://domena.pl/src.js'; body.appendChild(js);}(document));

Plik http://domena.pl/src.js zawiera tylko taki kod:

alert('test');

Kod się nie wykonuje. Kiedy wpiszę bezpośrednio taki kod w pasek: javascript:alert('test'); wtedy otrzymuję komunikat.

Ktoś podpowie dlaczego tak się dzieje? Skrypt docelowo ma pobierać kod strony i go obrabiać.

0

na pierwszy rzut oka wygląda ok, ale:

  1. sprawdź konsolę
  2. czy to przypadkiem nie jest strona https do której chcesz dokleić skrypt z http?
0

Konsola błędów nie wyrzuca. Jak wykonuję alert bezpośrednio to w pasku zostaje kod "javascript:alert()", a w pierwszym przypadku przeładowywuje stronę. Bez różnicy czy http czy https.

0

a jaka to przeglądarka? chyba większość (wszystkie) ma już blokady wpistywania javascriptu w pasek adresu?

pod starą operą, która tej blokady nie ma, kod zachowuje się zgodnie z oczekiwaniami

0

W sumie nie wiem co zrobiłem, dodałem return false, potem to usunąłem i zaczęło działać.

A co kiedy chcę pobrać w ten sposób kod strony z szyfrowanym połączeniem? Czy da radę to zrobić w JS czy trzeba jakąś inną technologię wykorzystać?

0

Niech Twój plik js będzie dostępny po https

0

Dzięki za informacje, fajnie to działa na różnych stronach z https, tylko np jeśli chodzi o testowanie na Facebooku, który też jest na https, to niestety nie działa. Czym to może być spowodowane?

0

jest szansa, że facebook w jakiś sposób blokuje doklejanie jakichkolwiek skryptów do strony (gdy w DOM pojawi się obcy element SCRIPT to jest eliminowany - nie wiem czy jest taka możliwość szczerze, ale możliwe, że w html5 coś się pojawiło) żeby przypadkiem nie próbować wykradać danych/sesji. ciężko powiedzieć, Ty najwięcej możesz zaobserwować, bo Ty się tym bawisz,

0

Linijka ze skryptem się dodaje, ale to co się tam powinno wykonywać, już się nie wykonuje. Zatem temat odpuszczam, ale problem pozostaje.

Potrzebuję pobrać kod HTML Facebook'a, który jest generowany dynamicznie, jaką technologię zastosować do tego?

0

A nie możesz zrobić zwykłego dodatku do przeglądarki?

0

Przymierzam się do tego, ale z dokumentacji Firefoxa nie mogę za bardzo zrozumieć jak napisać wtyczkę. Poratuje ktoś linkiem z ciekawie napisanym tutorialem tworzenie pluginów do FF? Może być po angielsku.

0

zrób dodatek do greasemonkey - pisze się go mniej więcej jak samo jak bookmarklety (to co robisz) tylko masz nieco większe prawa (można wywoływać zapytania cross-domain)

0

Wszystkie źródła na jakie trafiam są czytelne, tylko potrzebne jest pojęcie o tym jak działa DOM, JS, co to jest asynchroniczność. Generalnie potraktuj to jako kolejny krok po nauce podstaw programowania dynamicznych stron www, jeżeli weźmiesz się za to za wcześnie to po prostu nie zrozumiesz.

https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions/XUL_School/Getting_Started_with_Firefox_Extensions
https://developer.mozilla.org/en-US/docs/Building_an_Extension
http://mariusz.turek.salon404.pl/post/41,jak-stworzyc-dodatek-do-firefox-krotki-tutorial-ff-addons-extensions
http://stackoverflow.com/questions/20409349/what-is-the-easiest-way-to-develop-firefox-extension

0

Trochę już programuję, wiem o co chodzi w DOM, JS. Próbuję zrobić wtyczkę na bazie tego linku: https://developer.mozilla.org/en-US/docs/Building_an_Extension

Skopiowałem wszelkie kody, które tam są, dodatek zainstalowany do FF, lecz nie nic się nie pokazuje.

Polecenie: <statusbarpanel id="my-panel" label="Hello, World" /> niby dodaje tekst w statusbarze na dole przeglądarki, ale posiadam FF 37 i tego paska tu nie ma. Nie bardzo wiem gdzie zakotwiczyć ten tekst w innym miejscu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1