Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][CSS][JavaScript]TD inline-block, IOS
atom90
post 31.05.2017, 10:58:26
Post #1





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

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


Witam.

Mam pewien problem. Importuje dokument z pliku do iframe. Wyświetla mi tam rozkład w elementach table

Wszystkie godziny odjazdu sa w komorkach, w jednym <tr> Lecz na TD dane jest display:inline-block co powoduje ze ladnie przerzucane są elementy do nowej lini. Obszar roboczy tabeli to 600px. Więc reszta jak wykracza poza tabele jest od nowej lini.

Wszystko dobrze działa, lecz niestety nie na oprogramowaniu Mac (Safari czy przehladarki na iphonie). Jest jakis knif jak to zrobić aby poprawnie działało również na Apple....
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
bostaf
post 31.05.2017, 11:04:46
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


A wrzuć przykładowy fragment tabeli, tak żeby było widać cały styl na table, tr i td.
Go to the top of the page
+Quote Post
atom90
post 31.05.2017, 11:22:26
Post #3





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

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



http://imgur.com/a/lF61O

Wszystkie przegladarki i na androidzie:


IOS:

Czy takie coś wystarczy?

Ten post edytował atom90 31.05.2017, 11:29:55
Go to the top of the page
+Quote Post
bostaf
post 31.05.2017, 11:57:48
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Nie. Sorki, miałem na myśli żebyś wrzucił fragment KODU tabeli, razem z klasami css. Albo spreparuj na https://jsfiddle.net/.
Go to the top of the page
+Quote Post
atom90
post 31.05.2017, 12:34:39
Post #5





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

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


https://jsfiddle.net/b1xdn6x8/1/

tyle ze tutaj symuluje poprawnie
Go to the top of the page
+Quote Post
bostaf
post 1.06.2017, 08:56:07
Post #6





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


U mnie też działa, ale ja Safari na Windowsie testuję.
Udało mi się to popsuć, jak usunąłem "<!DOCTYPE html>" - w Chromie było nadal OK, ale w Safari i IE się posypało.
Może ktoś kto ma możliwość potestowania na Macu Ci pomoże...
Go to the top of the page
+Quote Post
trueblue
post 1.06.2017, 09:07:26
Post #7





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

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


Na Safari 9.1, 10.1 oraz iPhone 5 i 6, jest ok.


--------------------
Go to the top of the page
+Quote Post
atom90
post 1.06.2017, 09:23:03
Post #8





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

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


Tutaj Nie bedziecie mieli ok:
http://www.mzk.pl/rozklady_new/0001/
...

Kliknijcie obojetnie jaki przystanek. np szpital wojewodzki. Zobaczycie ze w safari bedzie w jednej lini.
Go to the top of the page
+Quote Post
bostaf
post 1.06.2017, 14:48:23
Post #9





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Tak na pierwszy rzut oka to właśnie brakuje deklaracji doctype w tym co jest ładowane do iframe'a - we w.htm i wszystkich rozkładach 0001t0??.htm
Spróbuj tam dodać <!DOCTYPE html>, zobaczymy czy pomaga.
Go to the top of the page
+Quote Post
atom90
post 5.06.2017, 08:20:25
Post #10





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

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


Hmm. Zastanawiam się jak tam dodac. Fizycznie dodałem sprawdziłem faktycznie smile.gif masz racje!
Tylko niestety dodawanie reczne nie jest mozliwe. Bo za duzo tych plików. Zreszta jakoś dziwnie gdy otwieram to zamienia polskie znaki. na (?)

Jedyna opcja to dodanie !doctype za pomoca jquery do iframe. tylko jak ...

w taki sposob dodaje style do iframe:
Kod
$(".rozklad iframe").on('load',function(){
     $(".rozklad iframe").contents().find("head").append('<link href="http://www.mzk.pl/wp-content/themes/mzk-blue/inc/rozklad.css" id="rozklad" rel="stylesheet" type="text/css">');
   });


ale nie wiem jak doctype dodac w podobny sposob

Go to the top of the page
+Quote Post
bostaf
post 5.06.2017, 08:34:56
Post #11





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Nie sprawdzałem, ale spróbuj z prepend().
Może coś w rodzaju
Kod
$(".rozklad iframe").contents().find("html").prepend("<!DOCTYPE html>");
Go to the top of the page
+Quote Post
atom90
post 5.06.2017, 10:06:42
Post #12





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

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


Właśnie nie działa :/
Go to the top of the page
+Quote Post
trueblue
post 5.06.2017, 19:08:10
Post #13





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

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


W jaki sposób importujesz plik do iframe?


--------------------
Go to the top of the page
+Quote Post
atom90
post 6.06.2017, 06:58:26
Post #14





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

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


W wordpresie mam stworzony custom post i wklejam iframe z odpowiednia linia
np:
Kod
<div style="overflow:auto;-webkit-overflow-scrolling:touch"><iframe src="http://www.mzk.pl/rozklady_n/0029/w.htm" width="100%"
onload="this.style.height=this.contentDocument.body.scrollHeight +'px'; window.parent.parent.scrollTo(0,0);"
></iframe></div>


Ten post edytował atom90 6.06.2017, 06:58:44
Go to the top of the page
+Quote Post
bostaf
post 6.06.2017, 08:46:22
Post #15





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Ja tak czy inaczej optowałbym za dodaniem tej deklaracji w każdym pliku. Jak się użyje odpowiedniego narzędzia (np. sed) to ilość przestaje mieć znaczenie. Jeśli nie śmigasz w Linuxie to możesz zainstalować podstawową wersję Cygwina i bez problemu wygooglujesz jak dopisać jeden wiersz w wielu plikach. A jak nie wygooglujesz to na tym forum ktoś Ci podpowie.

Ale jeśli chodzi o dodanie deklaracji dynamicznie, a prependowanie nie działa, to może tak:
1. Po załadowaniu iframe'a pobrać jego zawartość do zmiennej,
2. Wpisać do iframe'a doctype,
3. Dopisać do iframe'a wcześniej pobraną zawartość.

No i nadal masz trzecią opcję: wymyślić css, który Safari zinterpretuje pomimo braku deklaracji typu dokumentu. Wcześniej nie mogłeś tego rozgryźć, bo nie wiedziałeś gdzie jest problem. Ale teraz skoro już wiesz...
Go to the top of the page
+Quote Post
atom90
post 7.06.2017, 13:49:42
Post #16





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

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


Kod
$(".rozklad iframe").on('load',function(){
  var iframe= $(".rozklad iframe");
});


O to chodzi?

w zmiennej mam teraz obiekt:
Object { 0: HTMLDocument → 0014t001.htm, selector: "", length: 1, prevObject: Object, context: HTMLDocument → 0014 }

I nie mam bladego pojecia co dalej .... jak dopisac do tego
Go to the top of the page
+Quote Post
bmati666
post 7.06.2017, 16:11:50
Post #17





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 12.02.2016

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


Jeśli problem z safari można spróbować w css: -webkit-appearance: none;
Go to the top of the page
+Quote Post
bostaf
post 8.06.2017, 10:34:10
Post #18





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Cytat(atom90 @ 7.06.2017, 14:49:42 ) *
Kod
$(".rozklad iframe").on('load',function(){
  var iframe= $(".rozklad iframe");
});


O to chodzi?

w zmiennej mam teraz obiekt:
Object { 0: HTMLDocument → 0014t001.htm, selector: "", length: 1, prevObject: Object, context: HTMLDocument → 0014 }

I nie mam bladego pojecia co dalej .... jak dopisac do tego

Chodzi o to, żeby wyciągnąć tylko html.
[JAVASCRIPT] pobierz, plaintext
  1. var iframeHTML = $(".rozklad iframe").contents().find("html").html();
[JAVASCRIPT] pobierz, plaintext

To będzie zawierało czysty tekst. Teraz do tego, na początku trzeba dopisać doctype:
[JAVASCRIPT] pobierz, plaintext
  1. var nowyHTML ="<!DOCTYPE html>" + iframeHTML;
[JAVASCRIPT] pobierz, plaintext

I wrzucić do do iframe'a. Ja nie znalazłem sposobu na nadpisanie całej zawartości iframe'a za pomocą jQuery, ale szybko znalazłem jak zrobić to czystym javascriptem. Poszukaj - nie powinieneś mieć problemu.

PS. Powtarzam, że mi się taki sposób zupełnie nie podoba. Dużo więcej się nauczysz jak spróbujesz jakimś automatem dopisać tą linię tekstu we wszystkich plikach.
Go to the top of the page
+Quote Post
atom90
post 8.06.2017, 12:43:50
Post #19





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

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


bostaf jest postęp!

Kod
function explode2(){
$(".rozklad iframe").on('load',function(){
     $(".rozklad iframe").contents().find("head").append('<link href="http://www.mzk.pl/wp-content/themes/mzk-blue/inc/rozklad.css" id="rozklad" rel="stylesheet" type="text/css">');
     var importIframe= $(".rozklad iframe").contents().find("html").html();

      importIframe="<!DOCTYPE html>"+importIframe;
    // console.log(importIframe);
     var iframe = document.getElementById('iframeID');
       iframe = iframe.contentWindow || ( iframe.contentDocument.document || iframe.contentDocument);
       iframe.document.open();
       iframe.document.write(importIframe);
       iframe.document.close();
       console.log(importIframe);


   });



}



Tak aktualnie wyglada funkcja.
Wszystko prawie ok, ale jest pewien problem bo sciezki do laczy sa niepoprawne

Powinny byc takie jak do adresu głównego:
rozklady_n/0014/w.htm

a prowadzą do:
rozklady_new/0014/w.htm

Czyli pobiera sciezke z miejsca, w którym jestesmy, a nie z wewnecznego dokumentu iframe.

skąd taka zmiana ?

Ten post edytował atom90 8.06.2017, 12:44:36
Go to the top of the page
+Quote Post
bostaf
post 8.06.2017, 14:31:31
Post #20





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Cytat(atom90 @ 8.06.2017, 13:43:50 ) *
Wszystko prawie ok, ale jest pewien problem bo sciezki do laczy sa niepoprawne

Powinny byc takie jak do adresu głównego:
rozklady_n/0014/w.htm

a prowadzą do:
rozklady_new/0014/w.htm

Czyli pobiera sciezke z miejsca, w którym jestesmy, a nie z wewnecznego dokumentu iframe.

skąd taka zmiana ?

Nie wydaje mi się, że to ma związek z tym przekształcaniem. Może testujesz nie tam gdzie Ci się wydaje? smile.gif Na http://www.mzk.pl/rozklady_new/0001/ nie widzę zmian...
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 14.08.2025 - 07:39