Autor Zpráva
Pavel125
Profil *
Dobrý den,

Chtěl bych se zeptat, zdali se dá nějak udělat?

Mám na stránkách iframe z jiného webu, ve kterém se zobrazují 2červené <divy> mají svojí třídu class="cerveny", dá se nějak z mích stránkach udělat abych tyto dva divy odpojil, případně je přepsal vlastní třídou z vlastního css souboru?

a nebo zda-li se dá nějak zakázat .js v daném iframu ?

Předem děkuji za odpověĎ
Chamurappi
Profil
Reaguji na Pavla125:
dá se nějak z mích stránkach udělat abych tyto dva divy odpojil
Ne. Cizí stránka je tabu, její běh z bezpečnostních důvodů moc ovlivnit nemůžeš.

a nebo zda-li se dá nějak zakázat .js v daném iframu ?
Explorer to umí, ostatní prohlížeče spíš ne.
Pokud ta vnitřní stránka používá JS k tomu, aby z rámu vyskočila, a ty jí v tom chceš zabránit, věz, že se může bránit i jinými způsoby.
margin
Profil *
V některých prohlížečích jde zakázat JS uvnitř Iframe, podrobnosti neznám, ale aspoň víš, co hledat.
Stránka uvnitř <iframu> přesměruje celou stránku

Stránka v iframe je samostatný dokument, nějaké iframe div.ten-nechci {display: none;}, ani nic podobného, naštěstí nejde použít.
Str4wberry
Profil
Jinak to lze obejít tak, že se potřebná stránka načte serverovým skriptem, který z ní může vyházet skripty a div.cerveny, a až tento výsledek se použije jako src rámu.
Pavel125
Profil *
Str4wberry:
A jakym způsobem se to dá udělat mohu někde najít nějaký příklad nebo nenapsal byste mi prosím něco jednoduchého na ukázku ? Předem děkuji
Str4wberry
Profil
V PHP to jde, pokud je zapnuté allow_url_fopen, celkem jednoduše:
<?php
define("URL", "http://diskuse.jakpsatweb.cz/?action=vthread&forum=3&topic=147864");
// 1) Načteme stránku
$web = file_get_contents(URL);
// 2) Nahradíme script za noscript
$web = str_replace("script", "noscript", $web); 
// 3) Aby se správně načetly styly a obrázky, přidáme značku <base> (http://www.jakpsatweb.cz/html/hlavicka.html#base)
$base = "<!doctype html><base href='" . URL . "'>";
// 4) Skryjeme, co je potřeba
$style = "<style>#logo {display: none}</style>";
// 5) Všechno vypíšeme
echo $base . $style . $web;

Co se týče úprav kódu, tak je to spíš jednoduchý nástřel, nic universálního.

Ad 2) Pro rozumné odstraňování JS (včetně on* atributů a se zachováním slova script v textu) by mohlo existovat nějaké hotové řešení.
Ad 3) Pokud stránka používá <!doctype> pro jiný vykreslovací režim, bude jej třeba změnit.
Ad 4) Elementy by se dalo podle třídy i úplně vyhodit z HTML, ne jen skrýt.
Pavel125
Profil *
Děkuji za pomoc, pomohlo.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: