Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][CSS][JavaScript]Zmiany elementów wewnątrz iframe
atom90
post
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 11.06.2014

Ostrzeżenie: (0%)
-----


Witam, mam problem. Potrzebuje na zmiany wewnątrz iframe elementów, ukrycie ich usunięcie zmiany styli, lecz niestety nie jestem wstanie dotrzec do elementów z iframa.

Próbowałem tego typu zabiegów.
Kod
  $('.myIframe1 iframe html').css('color', 'red')


lub

Kod
$('iframe').load( function() {
    $('iframe').contents().find("head")
      .append($("<style type='text/css'>  .my-class{display:none;}  </style>"));
});



Nic z tego nie działa....
Go to the top of the page
+Quote Post
Comandeer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


A ramka jest z tej samej domeny, co reszta?
Go to the top of the page
+Quote Post
atom90
post
Post #3





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 11.06.2014

Ostrzeżenie: (0%)
-----


tak
Go to the top of the page
+Quote Post
patwoj98
post
Post #4





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Skoro są w tej samej domenie to czy próbowałeś po prostu edytować w sposób nie przez jQuery, ale przez zwykły css?

Na przykład:
Kod
<iframe src="link.html" style="color: red;"></iframe>
Go to the top of the page
+Quote Post
atom90
post
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 11.06.2014

Ostrzeżenie: (0%)
-----


Tak. Tylko probowałem wew elementy. Czyli tabele linki itp. Ktore nawet nie maja klas i id. Musze tam poukrywac np linki a jedynym sposobem by je dorwac to tylko href...
Go to the top of the page
+Quote Post
Comandeer
post
Post #6





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


W takim razie to
Kod
$('iframe').contents()

winno działać i zwrócić Ci dokument z wnętrza ramki.
Go to the top of the page
+Quote Post
atom90
post
Post #7





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 11.06.2014

Ostrzeżenie: (0%)
-----


Coś robie dalej nie tak. Zrobiłem to sobie na lokalu teraz, zeby wykluczyć ze coś na serwisie koliduje.

Wyglada to tak:

(IMG:http://i982.photobucket.com/albums/ae307/okruszek90/iframe_zpsinzgfuii.jpg)

no i kod:
Kod
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>contents demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  
</head>
<body>

<iframe src="strona/1iframe.html" width="80%" height="600" id="frameDemo"></iframe>

<script>
$( "#frameDemo" ).contents().find( "a" ).css( "background-color", "#BADA55" );
</script>

</body>
</html>



wszustkie linki powinny miec tło

na wzor tego:
https://api.jquery.com/contents/

Ten post edytował atom90 14.09.2016, 08:10:37
Go to the top of the page
+Quote Post
Comandeer
post
Post #8





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Hmm… A w konsoli coś jest?
Go to the top of the page
+Quote Post
atom90
post
Post #9





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 11.06.2014

Ostrzeżenie: (0%)
-----


Właśnie nie wiem bo błędu nie zwraca żadnego. :/ nic nie ma
Go to the top of the page
+Quote Post
trueblue
post
Post #10





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


  1. $("#frameDemo").on('load',function(){
  2. $(this).contents().find("a").css("background-color","#BADA55");
  3. });
Go to the top of the page
+Quote Post
atom90
post
Post #11





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 11.06.2014

Ostrzeżenie: (0%)
-----


To jest to, czyli rozumiem problemem był, że nie mogłem się dostać tam bo element iframe nie wczytał jeszcze swojej zawartości? Tylko dziwi mnie, że przykład w dokumentacji pokazywał, że bez load zadziała...

BTW dzięki za pomoc
---------------------------
Po testach zauważyłem, że nie zawsze ładuje te zmiany. Raz odświeżyłem i elementy ukrywało i zmieniało style jak chciałem, a czasem nic nie robi ...

Ten post edytował atom90 15.09.2016, 14:26:47
Go to the top of the page
+Quote Post
szyszakilun
post
Post #12





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 16.09.2016

Ostrzeżenie: (0%)
-----


Witam

Mam ten sam problem - raz działa, raz nie działa - próbowałem ponownie wykonać skrypt po 2sekundach ale omija kod z $

skrypt:
function explode2(){
$("#test").on('load',function(){
$(this).contents().find("a[href='../test.htm']").css("display","none");
$(this).contents().find("table").css("font-size","12px");
console.log("Boom2!");
});
console.log("Boom!");
}
setTimeout(explode2, 2000);

W konsoli pojawia się Boom! ale brak Boom2!....
Proszę o pomoc...

Jeszcze zauważyłem, że na mobilnych wersjach przeglądarek w ogóle nie działa (IMG:style_emoticons/default/sad.gif) - mobilny chrome i safari (nie ma się co sugerować emulatorami mobilnych przeglądarek online bo na nich jest ok)
Go to the top of the page
+Quote Post
trueblue
post
Post #13





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Cytat(atom90 @ 15.09.2016, 09:56:13 ) *
Po testach zauważyłem, że nie zawsze ładuje te zmiany. Raz odświeżyłem i elementy ukrywało i zmieniało style jak chciałem, a czasem nic nie robi ...

W ramce nie ma elementów ładowanych dynamicznie?

Cytat(szyszakilun @ 16.09.2016, 10:17:11 ) *
Mam ten sam problem - raz działa, raz nie działa - próbowałem ponownie wykonać skrypt po 2sekundach ale omija kod z $

Co to znaczy, że omija? Jest załączone jQuery? Nie ma błędów w konsoli?
Go to the top of the page
+Quote Post
Comandeer
post
Post #14





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Tak się zastanawiam, kiedy ramka lokalna się ładuje. Czy przypadkiem czasami listener dla load się nie wykonuje, bo to zdarzenie zaszło przed jego przypięciem?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 14:06