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 12.09.2016, 13:49:15
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 12.09.2016, 16:55:06
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 13.09.2016, 07:00:02
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 13.09.2016, 15:42:00
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 13.09.2016, 19:07:27
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 13.09.2016, 20:51:11
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 14.09.2016, 08:05:22
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:



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 14.09.2016, 16:26:16
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 14.09.2016, 17:12:05
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 14.09.2016, 17:24:57
Post #10





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
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 15.09.2016, 08:56:13
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 16.09.2016, 09:17:11
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 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 16.09.2016, 09:32:02
Post #13





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
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 16.09.2016, 16:05:28
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.05.2025 - 00:48