• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Alternatywa dla iframe

Object Storage Arubacloud
+2 głosów
1,931 wizyt
pytanie zadane 5 sierpnia 2015 w HTML i CSS przez Klubbers Początkujący (410 p.)
edycja 5 sierpnia 2015 przez Klubbers
Witam. Istnieje jakaś alternatywa dla iframe, aby wyświetlić inną stronę internetową w divie na mojej stronie? Zauważyłem, że nie wszystkie strony są wyświetlane w iframe, np youtube, google, czy skracane linki. Chciałem wyświetlić taką ramkę z zawartością reklamową ze skróconego linka przy pobieraniu pliku z serwera, jednak po wywołaniu widnieje pusta ramka i szare tło. Są jakieś inne sposoby? Zależy mi na tym, aby wyświetlane to było w małym oknie, a nie w nowej karcie, czy pełnym oknie przeglądarki.

2 odpowiedzi

0 głosów
odpowiedź 5 sierpnia 2015 przez Comandeer Guru (601,530 p.)

Można spróbować jeszcze z object, ale raczej efekt będzie taki sam. Niektóre strony po prostu blokują taką możliwość nagłówkami HTTP (jak np. moja strona domowa).

Niestety czasami trzeba robić proxy w PHP.

komentarz 5 sierpnia 2015 przez Klubbers Początkujący (410 p.)
Hmm to muszę pomyśleć nad czymś innym, bo proxy w php to dla mnie czarna magia. Ewentualnie stronę wyświetle w nowym oknie zmniejszonym do odpowiednich rozmiarów.
0 głosów
odpowiedź 9 sierpnia 2015 przez Klubbers Początkujący (410 p.)
Ok. Poradziłem sobie bez iframe, ale teraz natknąłem się na problem. Dotyczy on bardziej JS ale nie chcę tworzyć nowego tematu, bo jest on powiązany z tym. A mianowicie, stworzyłem quiz z pytaniami. Po odpowiedzeniu na pytania pokazuje się nowe okienko z reklamą i po 5 sekundach następuje przekierowanie do właściwej podstrony, gdzie wykonywany jest skrypt PHP sprawdzający poprawność odpowiedzi. Po wykonaniu skryptu okienko się zamyka.

Problem polega na tym iż chciałbym zrobić zabezpieczenie przed przypadkowym zamknięciem okna w czasie tych 5 sekund wyświetlania reklamy, ponieważ wtedy skrypt się nie wykona a użytkownik nie będzie miał możliwości odpowiedzieć na pytania po raz kolejny. Zabezpieczenie miałoby charakter alertu informującego o utracie możliwości ponownego wypełnienia quizu i decyzji, czy chce zostawić okienko, czy je wyłączyć. Problem w tym, że nie mam pojęcia, czy jest to w ogóle możliwe. Bez problemu zrobiłbym taki alert na własnej podstronie, ale w tym wypadku mnie to przerasta (o ile jest to wogóle możliwe) Może da się wykorzystać nazwę nadaną okienku w momencie jego utworzenia i przechwycić moment zamykania okna?
komentarz 9 sierpnia 2015 przez Comandeer Guru (601,530 p.)

Jeśli okienko otwierasz przez window.open to ta funkcja zwraca identyfikator nowego okna. Mając go można z tym okienkiem zrobić de facto wszystko.

komentarz 9 sierpnia 2015 przez Klubbers Początkujący (410 p.)

A jak pobrać ten identyfikator? W ten sposób?

<script type="text/javascript">
var win;
win = window.open("www.google.pl" "newWindow" "width=600, height=400");

</script>

Czy jakaś inna funkcja jest za to odpowiedzialna?

komentarz 9 sierpnia 2015 przez Comandeer Guru (601,530 p.)
Nie, właśnie tak można go pobrać.
komentarz 9 sierpnia 2015 przez Klubbers Początkujący (410 p.)
edycja 11 sierpnia 2015 przez Klubbers

Czyli w tym wypadku zmienna win przechowuje ten identyfikator? Jak go teraz wykorzystać w celu utworzenia alertu?

 

EDIT:
Już ogarnąłem temat. Wrzucam gdyby ktoś był zainteresowany rozwiązaniem.

<script type="text/javascript">
	function link() {
	var h =	window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
	var w =	window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
	var t = (h-400)/2;
	var l = (w-600)/2;
	win = window.open("www.google.pl", "newWindow", "toolbar=no, scrollbars=no, titlebar=no, toolbar=no, status=no, resizable=no, top="+t+", left="+l+", width=600, height=400");
	win.document.body.onbeforeunload=function(event) {event.returnValue = "Czy jesteś pewien, że chcesz opuscić stronę?";}
	}
	</script>

 

komentarz 11 sierpnia 2015 przez Klubbers Początkujący (410 p.)

Wybaczcie, że piszę post po poście, ale powyższy kod nie działa dla stron internetowych. Działa tylko dla podstron utworzonych przeze mnie w pliku php. Np w takim wypadku.

<script type="text/javascript">
    function link() {
    var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
    var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
    var t = (h-400)/2;
    var l = (w-600)/2;
    win = window.open("window.php", "newWindow", "toolbar=no, scrollbars=no, titlebar=no, toolbar=no, status=no, resizable=no, top="+t+", left="+l+", width=600, height=400");
    win.document.body.onbeforeunload=function(event) {event.returnValue = "Czy jesteś pewien, że chcesz opuscić stronę?";}
    }
    </script>

Wtedy przy próbie zamknięcia wyskakuje komunikat, gdy jednak zamiast window.php wpiszę dowolna stronę internetową to okienko można spokojnie zamknąć.

Ma ktoś jakąś radę albo pomysł jak to naprawić?

komentarz 11 sierpnia 2015 przez Comandeer Guru (601,530 p.)
Prawdopodobnie nic się nie da zrobić, bo próbujesz złamać zasadę same origin policy.

Podobne pytania

+1 głos
2 odpowiedzi 200 wizyt
pytanie zadane 7 września 2015 w HTML i CSS przez Mizukage Pasjonat (21,750 p.)
0 głosów
0 odpowiedzi 118 wizyt
pytanie zadane 3 października 2020 w HTML i CSS przez x_000 Obywatel (1,460 p.)
0 głosów
0 odpowiedzi 235 wizyt
pytanie zadane 30 września 2020 w HTML i CSS przez x_000 Obywatel (1,460 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...