Mam adres URL strony zdalnej z innej domeny, którą muszę pobrać, przeanalizować i zaktualizować DOM bieżącej strony. Znalazłem przykłady robienia tego przy użyciu nowego ActiveXObject ("Msxml2.XMLHTTP"), ale to jest ograniczone do IE, jak sądzę, i przy użyciu nowego java.net.URL, ale nie chcę używać Javy . Czy są jakieś alternatywy?Jak uzyskać zawartość strony zdalnej z JavaScript?
Odpowiedz
Ta sama polityka domeny Cię zainteresuje.
1) Proxy przez serwer. przeglądarka-> twój serwer-> ich serwer-> twój serwer-> przeglądarka.
2) Użyj lampy błyskowej lub silverlight. Trzecia strona musi dać ci dostęp. Most między javascript i flash nie jest świetny dla dużych ilości danych i są błędy. Silverlight nie jest tak powszechny jak flash ...
3) użyj znacznika. To naprawdę nie jest bezpieczne ... Działa tylko wtedy, gdy zawartość strony trzeciej jest prawidłowym javascript.
Czy bookmarklet działa lokalnie podlegałby takim samym ograniczeniom? –
Obiekt XMLHTTPRequest jest wspólny dla większości nowoczesnych przeglądarek i jest mocny dla aplikacji internetowych AJAX.
powiedział na innej domenie ... –
Jeśli stworzą standard, możliwe, że www.datejs.com może nadal używać AJAX do tego ... choć nie polecam go ... –
Co z ładowaniem skryptu PHP za pośrednictwem AJAX, który ma file_get_contents()
? Powinno to działać w przypadku innej domeny. Jeśli rozumiem poprawnie.
To właśnie sugeruje Steve Brewer. Ale wolałbym unikać używania proxy, jeśli to możliwe. – Vitaly
Napisanie skryptu po stronie serwera, który pobierze zawartość strony, jest drogą do zrobienia. Możesz użyć obiektu XMLHttpRequest, aby wywołać AJAX do tego skryptu, który po prostu przetworzy wszystkie html (?).
Mimo to odradzam. Nie wiem dokładnie, jak bardzo ufam drugiej stronie, ale ta sama polityka pochodzenia istnieje z jakiegoś powodu. Co dokładnie próbujesz zrobić? Zwykle istnieje obejście.
Polityka tego samego pochodzenia jest sposobem zabezpieczenia. Czy inna witryna ma interfejs API? –
Google Finance API nie zapewnia sposobu na uzyskanie notowań giełdowych, jednak jak wspomniano tutaj http://stackoverflow.com/questions/527703/google-financial-api-how-get-stock-quotes jest sposób na uzyskanie cytaty takie jak to: http://finance.google.com/finance/info? q = GOOG – Vitaly
Próbujesz pobrać notowania giełdowe z Google Finance? Pomaga dokładnie wyjaśnić, co zamierzasz osiągnąć :-) – JorenB
Nie sądzę, że można to zrobić zgodnie z ograniczeniami polityki tego samego pochodzenia. Dwie komunikują się między dwiema domenami za pomocą iframe również możemy użyć kodu JS, ale obie domeny muszą mieć w sobie kod komunikacyjny. Ramka Child może kontaktować się z ramką (oknem) dziadka, ale nie tutaj.
Odkąd odwołujesz się do jakiegoś adresu URL, który jest wszystkim posłańcem.
Jedynym sposobem jest zrobienie tego przy użyciu kodu po stronie serwera w celu uzyskania dostępu do zawartości w innej domenie.
Wystarczy użyć PHP:
<?php
$url = "http://www.domaintoretrieve.com";
ob_start();
include_once($url);
$html = ob_get_contents();
ob_end_clean();
?>
$ html zawiera całą stronę do manipulowania, ile potrzeba.
- 1. Jak uzyskać zawartość strony internetowej z WebView?
- 2. Jsoup uzyskać zawartość javascript z tagami CDATA?
- 3. Jak uzyskać zawartość strony za pomocą cURL?
- 4. Jak mogę uzyskać zawartość strony internetowej
- 5. Jak uzyskać zawartość strony w zmiennej powłoki?
- 6. Jak uzyskać tytuł strony HTML z JavaScript?
- 7. uzyskać wykonaną zawartość javascript w python
- 8. Prawidłowe sposób, aby uzyskać zawartość strony
- 9. Jak uzyskać "surową" zawartość href w JavaScript
- 10. iOS - wyświetla zawartość z pliku zasobu html lub zdalnej strony internetowej w widoku webowym
- 11. Regex: jak uzyskać zawartość z wewnętrznego znacznika (użyj javascript)?
- 12. Jak uzyskać zawartość html z UIWebView?
- 13. jak uzyskać zawartość zasobów strony internetowej poprzez zdalne debugowanie chrome
- 14. Jak wstawić dodatkową zawartość do nagłówka strony z widoku strony?
- 15. Jak uzyskać adres URL favicon z ogólnej strony w JavaScript?
- 16. Jak uzyskać zawartość pliku załącznika z jQuery
- 17. Jak programowo uzyskać zawartość renderowania?
- 18. Jak można analizować zawartość dynamiczną ze strony internetowej?
- 19. Jak uzyskać zawartość div, która zawiera bloki skryptów JavaScript?
- 20. Jak zdobyć zawartość textarea TinyMCE z JavaScript
- 21. uzyskać źródło strony internetowej z wytopione html z JavaScript
- 22. drukowania zawartość innej strony
- 23. Zawartość centrum strony
- 24. Jak uzyskać zawartość html z XWalkView?
- 25. Jak uzyskać zawartość textarea z jquery
- 26. Jak rozpakować zawartość pliku JavaScript?
- 27. Jak udostępniać zawartość mojej strony na facebooku
- 28. uzyskać tytuł strony iframe z javascript użyciu jquery
- 29. Jak uzyskać zawartość jako ciąg?
- 30. Skracanie strony generowane przez javascript z C#
Czy kontrolujesz inną domenę? –
@Darko Z Nie, ja nie – Vitaly