Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Strona może być wyświetlana w ramce. Żeby wykryć taki stan dodaje parametr iframe=1 do linku.
W jaki sposób zapamiętać, że strona jest w ramce. Dodawanie do każdego linku z oczywistych powodów nie przejdzie, za dużo modyfikacji. Znów zapamiętanie w sesji byłoby dobrym pomysłem jednakże mógłby być problem gdyby otworzył stronę poza ramką - wtedy sesja by się nie zmieniła i ciągle wyświetlałoby wersje iframe. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%)
|
Pierwsza myśl jaka przychodzi do głowy - nie da się w PHP - można tylko w JS ale...
Można do tematu podejść inaczej. Gdzie ta strona się pokazuje w IFRAME? Jeśli iframe jest na innej domenie - bierzesz REFERERA i po sprawie - chyba, że strona jest nawigowana (zmieniają się podstrony w samym iframe). Tak samo jeśli iframe pokazuje się na stronach które mają jakieś "regularne" adresy może to tak wykryć. I przede wszystkim co dokładnie chcesz uzyskać poprzez to wykrycie? W sensie - co robisz jak wiesz, że to iframe? Strona inaczej wygląda? EDIT: Można połączyć PHP i JS:
Ten post edytował Sephirus 3.04.2014, 14:08:11 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Iframe wstawiany na różnych domenach z znacznikiem iframe=1 (to już odgórnie wymuszę).
Referer się straci właśnie przy nawigowaniu, w ogóle tylko nawigowanie jestem problemem bo strona startowa wyświetla się właśnie w oparciu o owy parametr, który mam pewność że zawsze będzie. Strona wygląda inaczej - wczytuje się inne widoki. Wiem, wiem - pewnie chodziło o to aby w JS wykryć i np. ukryć, zmienić klasę ale to nie przejdzie. Muszą być inne widoki. Sposób z window.location.href jest w miarę ok tylko, że on będzie każdorazowo odświeżać stronę (przekierowywać ale mówię jak to będzie wyglądało dla użytkownika końcowego) przy poruszaniu się po sklepie. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
A gdybyś wykorzystał metodę Sephirus'a, ale zamiast doklejania parametru do URLa, wysłał żądanie ajaxem i w skrypcie PHP ustawił parametr w sesji na wartość zgodną z window!=window.top?
PHP musiałby odpowiadać czy stan obecny jest inny z zapisanym w sesji, wtedy w zdarzeniu success ajaxa, musiałbyś w zależności od tego przeładowywać stronę lub nie. Ten post edytował trueblue 3.04.2014, 14:55:02 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Tak, ajax będzie właśnie ostatnią deską ratunku (IMG:style_emoticons/default/wink.gif)
Też troszkę dodatkowe obciążenie bo jednak będę musiał to sprawdzać przy każdym załadowaniu ale na pewno lepsze znów niż refresh całej strony. |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Refresh i tak będzie potrzebny, jeśli stan obecny inny niż stan w sesji. Ale to będzie tylko przy pierwszym załadowaniu, a inne przypadki będą sporadyczne.
Toporne, ale skuteczne:) |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 19:07 |