Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Karta z listą dostępnych materiałów nie działa poprawnie, jeśli zamkniemy poprzednią kartę z materiałem VOD #26

Closed
HerMajestyDrMona opened this issue Jun 29, 2019 · 53 comments

Comments

@HerMajestyDrMona
Copy link
Collaborator

HerMajestyDrMona commented Jun 29, 2019

Problem wykryty na Ipli, ale wydaje mi się, że dotyczy też innych serwisów.
Po kliknięciu "Pobierz" wyświetla się nowa karta z listą dostępnych materiałów (z bitrate, rozdzielczością, itd.).
Jeśli zamkniemy poprzednią kartę z materiałem VOD (tą na której kliknęliśmy Pobierz), to po kliknięciu np. na "OTWÓRZ" - nic się nie dzieje.
Jest to uciążliwe, gdyż kartę zamykamy szybko np. ze względu na denerwującą, zazwyczaj głośniejszą od innych dźwięków reklamę, a nad wyborem bitrate/rozdzielczości możemy się chwilę zastanawiać.
Według mnie warto byłoby przypisywać URL + akcje do tych 3 przycisków już na poziomie tworzenia tej nowej karty.

@zacny
Copy link
Owner

zacny commented Jun 30, 2019

Nie ma w tym nic dziwnego, przecież to do poprzedniej strony załączne są skrypty, a ta to tylko prezentacja wyników.

@HerMajestyDrMona
Copy link
Collaborator Author

Jednak do strony "prezentacyjnej" można dodać template z JS, tak jak to było np. w wersji 4.9? Czyli na początku strony z wynikami dodawany "<script>" i funkcje które odpowiadają za przyciski.
Ewentualnie coś innego, tylko co? Zabezpieczenie przed zamknięciem poprzedniej karty? Informacja, że nie udało się ze względu na brak funkcji w karcie z wynikami?

@funplayertv
Copy link

funplayertv commented Jul 1, 2019

częściowo moge u siebie zreplikować 'nie działanie przycisuku otwórz'... faktycznie kiedy zamkne wczensiejsza karte:

a. zanim pojawia sie wyniki, w trakcie ich generowania.., to nic sie nie wygeneruje i nie pokaze bedzie cały czas 'porsze czekac, trwa... blababla'

b. jak zamkne od razu karte wwczesijesza jak tylko pokaza sie wyniki.... to faktycznie pierwsze klikniecie powoduje totalnie nic... poza zrobienie z guzika 'otworz' szarego... ale jak na ten szary klikne to sie normlanie otwiera...

edit
dodatkowo, powyzsze zachowanie udąlo mi sie tylko ukazac na ipli, na player czy vod nie udało mi sie zrobic tak, aby nie dzialało otwieranie... klikałem guzik od razu sie otiewtrało

@zacny
Copy link
Owner

zacny commented Jul 3, 2019

Próbowałem przepisać to tak by skrypty dodawać później, niby można ale to też nie rozwiązuje tego problemu.
Myślałem nad jakimś komunikatem ostrzegającym przez zamknięciem, ale musiałby być zawsze, bo skąd niby miałbym wziąć informację o tym, że okno z wynikami zostało zamknięte.
Jedyna myśl jaka mi przychodzi do głowy to tworzyć event z unikalnym id i sprawdzać czy był już taki przechwycony przy próbie zamknięcia okna. Jeżeli nie był pokazać komunikat.

@funplayertv
Copy link

nie wiem czy to gra warta zachodu.... ilu bedzie co tak błyskawicznie zamknie karte ? jak dla mnie moze zostac jak jest, ale jest to tylko i wyłącznie moja opinia :D

@HerMajestyDrMona
Copy link
Collaborator Author

Próbowałem przepisać to tak by skrypty dodawać później, niby można ale to też nie rozwiązuje tego problemu.

Dlaczego nie rozwiązuje? Skoro funkcje są na tej karcie co przyciski, to nie wywołuje ich?

@zacny
Copy link
Owner

zacny commented Jul 3, 2019

Ostrzeżenie przed zamknięciem choć wydaje się dobrym pomysłem też nie jest w tej sytuacji możliwe do zrealizowania. Wypróbowałem chyba już wszystkie sposoby jakie znam.

@zacny
Copy link
Owner

zacny commented Jul 3, 2019

Dlaczego nie rozwiązuje? Skoro funkcje są na tej karcie co przyciski, to nie wywołuje ich?

Nie wiem niestety.

@HerMajestyDrMona
Copy link
Collaborator Author

Ale nawet "Kopiuj" i "Odtwórz" nie działają? Bo z zapisywaniem to trochę bardziej skomplikowana metoda, ale dla tych dwóch nie powinno być problemu.

@zacny
Copy link
Owner

zacny commented Jul 3, 2019

Otwórz mi działa. Kopiuj i Pobierz - nie.

@HerMajestyDrMona
Copy link
Collaborator Author

HerMajestyDrMona commented Jul 3, 2019

A u mnie właśnie to Otwórz nie działa po zamknięciu poprzedniej karty (na Chrome).

@HerMajestyDrMona
Copy link
Collaborator Author

HerMajestyDrMona commented Jul 3, 2019

Dla przykładu. Jak zmienimy:
var createAction = function(iconClass, label){ return $('<button>').attr('type', 'button').attr('onclick', 'alert("hi")').addClass('btn btn-dark btn-sm m-1 pl-3 pr-3') .append($('<i>').addClass('fas pr-1').addClass(iconClass)).append(label); };

To ten alert "hi" wyskakuje za każdym razem, po zamknięciu poprzedniej karty też. Myślałem, żeby w to miejsce całą funkcję wkleić.

EDIT:
Takie coś u mnie działa:
actions.append(createAction('fa-film', 'Otwórz', 'window.open("'+data.value.url+'")').click( function() {openActionClick(data, w)}) );

var createAction = function(iconClass, label, fullfunction){
	        return $('<button>').attr('type', 'button').attr('onclick', fullfunction).addClass('btn btn-dark btn-sm m-1 pl-3 pr-3')
	            .append($('<i>').addClass('fas pr-1').addClass(iconClass)).append(label);
	    };

... ale dla kopiowania dużo innych rzeczy zostało użytych :(

@funplayertv
Copy link

a gdyby tak jak wczensiej @zacny napisał... 'po kliknieciu na pobierz' pojawia sie info wymnagajace potwierdzenia + checkbox do zaznaczenia ' nie przypominaj mi mo tym' a w tresci 'pamietaj, aby nie zamykać macierzystej karty p ootwarciu karty z linkami' ok / anuluj i sprawa rozwiazana... zaznaczysz checkbox'a wiececj nie dostaniesz info, a tak bedzi einformowac i tyle, nie jest rozwiazanie idealne ale co zorbić ;p

@HerMajestyDrMona
Copy link
Collaborator Author

Mnie osobiście satysfakcjonuje samo "Otwórz" więc jeśli można byłoby przenieść bezpośrednio (jak na przykładzie wyżej) byłoby fajnie.

Co do zamykania poprzedniej karty, niektóre strony mają takie powiadomienie że jak coś wpiszemy i próbujemy zamknąć to pojawia się ostrzeżenie. Można by to wprowadzić na takiej zasadzie, że co 1 sekundę, kiedy wygenerowana jest nowa karta, skrypt główny pisałby w niej coś (jakieś losowe ID) i sprawdzał czy poprzednie ID istnieje na tej karcie. Jeśli istnieje i jest takie samo to dalej blokowały zamykanie jej (komunikatem), a jeśli nie istnieje to nie wyświetlałby żadnego komunikatu.

@funplayertv
Copy link

funplayertv commented Jul 4, 2019

nie wiem czy rozdizelanie tylko jednej funkcji na dwa obszary ma sens pod wzgledem estetyki, wszytsko powinno byc spojne jak dla mnie... ale jak bedzie to jedyne rozwiazanie mozna to przedyskutowac :D mi osobiscie kłopot zamykania karty nie dotyka bo po prostu jej nie zamykam....

ale sobie tak pomyslałem, aby był wilk syty i owca cała... a co @zacny jakby zrobic ustawienia, gdzies w skrypcie/wtyczce, w ktorych moznabyloby zdefiniowac domyslne działaniua przycisku 'pobierz video'

o co chodiz... np. domyslnie i standardowo pojawialaby si enowa karta z linkami, tak jak do tje pory, ale np. moznabyłoby ustawic, aby domyslnie z autmatu po kliknieciu na 'pobierz video' otwierała sie juz karta z linkiem video... bepzosrednio, w najwyzszej jakosci djamy na to, przeciez wtedy zamkniecie karty wczesniejszej nic jzu nie zorbi, booooo video bedzi esi ejuz odtwrazac

edit.
badz nawet jak mechanizm na to obeceni nie pozwala, to automatycznie otwieralaby sie nowa karta i sama sie zmaykała po otwarciu bezposrednio linku do video... czy cos

@zacny
Copy link
Owner

zacny commented Jul 4, 2019

Takie coś u mnie działa:

Spoko, tylko że powoduje problemy z wyskakującymi okienkami.

@HerMajestyDrMona
Copy link
Collaborator Author

Nie powinno i okienka nie są u mnie blokowane (Chrome, Firefox). Funkcja zostaje przecież identyczna. Jest wciśnięcie przycisku - przeglądarka wie że akcja jest zamierzona i bez problemu na to zezwala. Chyba że ogólnie chodzi o onClick. Nie znam się za bardzo na JS więc pewnie masz rację w tych kwestiach, jednak jeśli testy się udały to chyba nie przeszkadzałoby dodać.

zacny added a commit that referenced this issue Jul 5, 2019
@zacny
Copy link
Owner

zacny commented Jul 5, 2019

@HerMajestyDrMona
Sprawdzałeś? Ja tak. Proszę:
https://github.com/zacny/voddownloader/raw/issue_26/dist/voddownloader.user.js
I rezultat:
a to co

Nie widzę tutaj dobrego wyjścia. Odcinasz skryptowi jego źródła i dziwisz się, że nie działa. To nie jest kwestia, czy nie zadziała, tylko kiedy się wywali. Pewnie różnice wynikają z implementacji silnika js w przeglądarkach. Moim zdaniem tutaj można tylko ostrzec, że coś takiego będzie miało miejsce jak ktoś tak zrobi.
PS. Skrypt + jakiś bloker umożliwia pobranie czego tam chcesz bez potrzeby oglądania reklam. Ten cel przyświecał pierwszym moim zmianom.

@HerMajestyDrMona
Copy link
Collaborator Author

HerMajestyDrMona commented Jul 5, 2019

Wersja dev mi się wysypuje i znika przycisk "Pobierz", ale po modyfikacjach dodanych do zwykłej wersji:
https://pastebin.com/raw/RBLshQBA

Normalnie otwiera na Chrome i Firefoxie (tak jak podczas wcześniejszych testów). Nie ma żadnych powiadomień o zablokowanych okienkach.

Nie widzę tutaj dobrego wyjścia. Odcinasz skryptowi jego źródła i dziwisz się, że nie działa. To nie jest kwestia, czy nie zadziała, tylko kiedy się wywali.

My to rozumiemy, ale prędzej czy później pojawią się komentarze tutaj lub na greaseforku, że "czasami nie działa", trzeba będzie wykrywać o co chodzi, tłumaczyć, odpisywać. A tak może uda się cały skrypt z funkcjami Otwórz/Zapisz/Kopiuj przenieść na tą drugą kartę.

@zacny
Copy link
Owner

zacny commented Jul 5, 2019

Właśnie sam sobie zaprzeczyłeś. Przecież tam dzieje się to samo co napisałem wyżej. To, że to się otwiera link nie wyklucza mojego zrzutu ekranu (wystarczy zamknąć link i wrócić do okna z wyborem jakości). Poza tym, co to za rozwiązanie, które działa akurat dla takiej funkcji, a dla innej już nie. Dla mnie to nie jest akceptowalne.

@HerMajestyDrMona
Copy link
Collaborator Author

Nie rozumiem tego komunikatu. Skoro okienko "zostało" zablokowane, to jakim cudem karta z materiałem normalnie się otworzyła?
To wygląda jakby skrypt próbował otworzyć link dwa razy (starsza funkcja i metoda onClick). Nie znaczy to jednak, że rozwiązanie z onClick jest złe, skoro się otwiera w identyczny sposób.

Poza tym, co to za rozwiązanie, które działa akurat dla takiej funkcji, a dla innej już nie. Dla mnie to nie jest akceptowalne.

Owszem, ale jeśli ma w ogóle nie działać i zmuszać do otworzenia poprzedniej karty raz jeszcze, to z dwojga złego już lepiej by zostawić chociaż 1 możliwość.

Mimo wszystko zastanawiam się nad innym rozwiązaniem, a mianowicie ładowaniem "<script src=", który miałby tylko i wyłącznie funkcje otwierania, kopiowania do schowka i zapisu. Jeśli onClicki wywoływały by te funkcje to powinno być OK.

@funplayertv
Copy link

skrypt obecnie w moim odczuciu na bardzo czytelny kod, skoro teraz wcyhdozi tyle zachodu by aimplemkenowac te zmiane to nie wiem czy autentycznie jest sens skoro nei ma dobrego, pewnego i ładnego rozwiazania... bo raczej szuflowanie opcjami przegladarek tak jak jest to np. w Fx opcja browser.tabs.closeWindowWithLastTab pewnie w gre nie wchodzi i zakłąda, ze nie moznaby było tego zreazlizowac od strony skryptu

@zacny
Copy link
Owner

zacny commented Jul 6, 2019

@HerMajestyDrMona Takie rozdzielenie do ostobnego skryptu miałoby szanse działać. Muszę przemyśleć czy można to jakoś ładnie przerobić.

@zacny
Copy link
Owner

zacny commented Jul 7, 2019

@HerMajestyDrMona wszystkich akcji (pobieranie, kopiowanie, otwieranie) wydzielić się do osobnego skryptu nie da. Zamykając główne okno nie ma możliwości używać już żadnej funkcji GM_, a tego się w żaden sposób nie obejdzie. Co za tym idzie nie działa np. możliwość bezpośredniego pobierania (moim zdaniem najfajniejsza funkcja). Dalej uważam więc, że jedyne co można zrobić, to ostrzec, że tak się stanie w tym przypadku. Nie wiem jednak jak takie ostrzeżenie można by ładnie zrealizować. Próbowałem onbeforeunlaod. Nie można tu jednak ustawić komunikatu ze swoją treścią.

@HerMajestyDrMona
Copy link
Collaborator Author

Myślę, że onbeforeunlaod w jakiejkolwiek formie (nawet bez możliwości ustawienia treści) jest lepszym rozwiązaniem. Bo w sumie te otwarte karty z listą materiałów są bezużyteczne po zamknięciu karty ze skryptem.
Wymyśliłeś już sposób weryfikacji czy karta z linkami jest dalej otwarta? Bo mam jeden pomysł na to, ale nie wiem czy warto pisać.

@zacny
Copy link
Owner

zacny commented Jul 7, 2019

To nie jest problem, problemem jest komunikat, co z tego że będzie, jak nie będzie z niego wynikało jasno o co chodzi. Dla firefoxa np. jest "Ta strona prosi o potwierdzenie decyzji jej opuszczenia — wprowadzone dane mogły nie zostać zapisane."

@HerMajestyDrMona
Copy link
Collaborator Author

Hmmm... A może:

  • Na karcie z linkami jakiś skrypt wykrywający czy karta rodzicielska została zamknięta. Jeśli tak to pokazanie komunikatu na czerwono z opcją "przeładuj". Przycisk przeładuj miałby informacje o URL karty rodzica, otwierał ją ponownie i zamykał obecną kartę z linkami. Wtedy użytkownik wiedziałby, że ma kliknąć przycisk "Pobierz" ponownie (czyli wyskakujące okienko nie byłoby blokowane jak gdyby to było zautomatyzowane).
    Da się ustawić to sprawdzanie na nowej karcie? Używając LocalStorage może? Czyli poprzednia karta zapisuje coś z ID materiały co ileś sekund, a karta z linkami sprawdza czy różnica czasu jest większa niż > X sekund.

@funplayertv
Copy link

Bo w sumie te otwarte karty z listą materiałów są bezużyteczne po zamknięciu karty ze skryptem.

no nie do końca... przynajmniej w moich testach, wszytsko zalezy od szybkosci zamkniecia karrty... jak sie zamknie karte keidy wszytsko sie wczyta, to u mnie wszytsko działa, a nawet jak nie to 2x kliknecie na guzik w zakładce z linkami i tak odpala...

@zacny
Copy link
Owner

zacny commented Jul 8, 2019

Ja potrafię, to przez tego linka dodanego do szablonu.

@HerMajestyDrMona
Copy link
Collaborator Author

OK, już wiem!
Jak na Chrome otworzymy link do materiału w tej samej karcie co wyświetlała linki, to potem na samej górze ładują się po wciśnięciu na Pobierz.

@zacny zacny reopened this Jul 9, 2019
@zacny
Copy link
Owner

zacny commented Jul 9, 2019

Po przemyśleniu ja to widzę tak, że przy zamykaniu karty głównej zamyka się też karta z resultatem. Po co prezentować jakiś tam błąd, który nie jest do niczego potrzebny przeciętnemu użytkownikowi.

@zacny
Copy link
Owner

zacny commented Jul 9, 2019

Popełniłem coś takiego. Moim zdaniem jest lepiej. Zamykają się dwie zakładki razem i nic nikomu do tego czemu tak jest.

@HerMajestyDrMona
Copy link
Collaborator Author

Też dobre rozwiązanie. Ewentualnie link z komunikatu błędu mógłby się otwierać w target=_blank i dodatkowo nie dopuścić do zmiany adresu (czyli jakby ktoś ręcznie wpisał link w tą samą kartę to dopiero by się zamykała).

@HerMajestyDrMona
Copy link
Collaborator Author

HerMajestyDrMona commented Jul 11, 2019

Pozwolę sobie otworzyć ponownie.
Podobała mi się metoda z wersji 5.11.0 i analizując kod widać że zostało w to włożone dużo pracy. Myślę, że moglibyśmy trochę nad tym jeszcze pogłówkować.

Udało mi się znaleźć dość proste rozwiązanie do problemów opisywanych poniżej (wyświetlanie linków w ramce na górze).
Otóż tutaj (i pewnie w kilku innych miejscach też):

Executor.asyncChain = function(service, options, w){
	        try {
	            if(w === undefined){
	                w = window.open('', 'voddownloader-results');
	                DomTamper.createLoader(w);
	            }

	            executeAsync(service, options, w);
	        }
	        catch(e){
	            DomTamper.handleError(e, w);
	        }
	    };

Zamiana na:

Executor.asyncChain = function(service, options, w){
	        try {
	            if(w === undefined){
                    if(window.name == "voddownloader-results"){
                        window.name = "";
                    }
	                w = window.open('', 'voddownloader-results');
	                DomTamper.createLoader(w);
	            }

	            executeAsync(service, options, w);
	        }
	        catch(e){
	            DomTamper.handleError(e, w);
	        }
	    };

Rozwiązuje opisywane wyżej problemy.

Możemy więc spokojnie edytować też:

var createPageContent = function(extraContent){
	        var pageContent = $('<div>').addClass('page-content');
	        var parentExist = $('<div>').attr('id', 'parent-exist');
	        var parentNotExist = $('<div>').attr('id', 'parent-not-exist').append(
	            createErrorContent(getErrorData(new Exception(config.error.noParent, "<a target=\"_self\" class=\"text-white\" href=\"" + window.location.href + "\">" + window.location.href + "</a>")))
	        ).addClass('do-not-display');

	        parentExist.append(extraContent);
	        pageContent.append(parentNotExist);
	        pageContent.append(parentExist);

	        return pageContent;
	    };

Aby link był możliwy do kliknięcia, nie rzucając się za bardzo w oczy.

Ogólnie taki jest mój pomysł na obejście tego, ale być może @zacny miałeś jeszcze jakieś inne powody do wycofania tamtych zmian?
Z tego co widzę w wersji 5.11.1 trochę zdebloatowałeś skrypt z nieużywanych funkcji z wersji 5.11.0, tak więc nie ruszam niczego samodzielnie żeby nie popsuć.

@zacny
Copy link
Owner

zacny commented Jul 11, 2019

@HerMajestyDrMona
Poprzednie rozwiązanie jest w porządku i ma jedną ważną zaletę (plus). Zostawia ślad po tym co się stało. Ma też jednak minusy:

  1. Uważam, że to niepotrzebnie komplikuje sprawę (obsługa czegoś tak błahego nie powinna rozrosnąć się do takich rozmiarów)
  2. Używa istniejących rozwiązań "na siłę".
  3. I najważniejsze. Nie obsłuży wszystkich przypadków (wszystko co będzie w iframe).

Przykłady:
#VOD player
https://vod.pl/playerpl-promocja/programy-online/automaniak-odcinki,139/odcinek-2,S06E02,16815
https://vod.pl/playerpl-promocja/programy-online/dzentelmeni-i-wiesniacy-odcinki,10536

#VOD_IPLA
https://vod.pl/seriale/swiat-wedlug-kiepskich/v20nc47
https://vod.pl/programy-tv/ewa-gotuje/hbv34z7

W połączeniu z tym co napisałem wcześniej po co produkować rozwinięte rozwiązanie do błahego problemu, które działa "czasami". Czyli:
https://www.youtube.com/watch?v=3ZpQHi12Dk0

trochę zdebloatowałeś skrypt

Co to takiego?

@zacny
Copy link
Owner

zacny commented Jul 11, 2019

Właściwie jakby dłużej pomyśleć to może i z punktem trzecim da się coś zrobić.

@funplayertv
Copy link

@zacny
gdyby jednak nie poszło po Twojej mysli, pomyslałem, ze własciwie zrobiloby tez robote powiadomienie OS w W10 np. ten dymek przy zasobniku... informujacy o tym, ze np. kartsa zostala zamknieta bo... wtedy nikt by sie nie dziwil czemu mi nagle wsyztsko ozstalo pozamykane...

i chciałem cos na ten temat znaleźć... ale....

https://stackoverflow.com/questions/51769201/chrome-notification-not-showing-with-tampermonkey
https://stackoverflow.com/questions/36779883/userscript-notifications-work-on-chrome-but-not-firefox

nie sporawdzłem tego czy 'dalej not supported' ale tez by to było jakies tam rozwiązanie... wyswetlic dymek, wtedy uzytokwnik dostanie info co sie własciwie stało....

@HerMajestyDrMona
Copy link
Collaborator Author

Uważam, że to niepotrzebnie komplikuje sprawę (obsługa czegoś tak błahego nie powinna rozrosnąć się do takich rozmiarów)

Ale już się rozrosła i działało bardzo sprawnie. Owszem, kodu trochę jest, ale patrząc z perspektywy użyteczności długość kodu nie ma za wiele znaczenia, zwłaszcza że w żaden sposób nie wpływa to na wydajność.

Jeśli chodzi o vod.pl, to jest to chyba jedyny serwis umieszczający kolejne materiały w ramce. Co do punktu 3, to powinno się udać wziąć window.parent.url (czy jak to było

trochę zdebloatowałeś skrypt
Co to takiego?

Sorry, tak jakoś mi się słowo stworzyło. Chodzi o "debloat" jak na przykład na smartfonach gdzie usuwane są pre-instalowane aplikacje. W tym wypadku chodziło o usunięcie tych nowych części z kodu (sugerowanie aby korzystać na 5.11.0 zamiast 5.11.1 przy wprowadzaniu zmian).

@HerMajestyDrMona
Copy link
Collaborator Author

HerMajestyDrMona commented Jul 13, 2019

Przykłady:
#VOD player
https://vod.pl/playerpl-promocja/programy-online/automaniak-odcinki,139/odcinek-2,S06E02,16815
https://vod.pl/playerpl-promocja/programy-online/dzentelmeni-i-wiesniacy-odcinki,10536

#VOD_IPLA
https://vod.pl/seriale/swiat-wedlug-kiepskich/v20nc47
https://vod.pl/programy-tv/ewa-gotuje/hbv34z7

Szczerze mówiąc - problemu nie ma.
Dla Vod.pl -> Player: wyświetla się link bezpośrednio na player.pl. Można kliknąć i jest przycisk pobierz.
Dla Vod.pl -> Ipla: wyświetla się teoretycznie "dziwny" link, ale dalej ma on przycisk pobierz.

Miejmy też na uwadze, że duża większość osób tej poprzedniej karty nie będzie zamykać i ten błąd nie będzie pojawiać się przy każdej możliwej okazji. Więc skoro linki w błędzie umożliwiają ponowne pobranie to jest to jedynie mniej-estetyczne rozwiązanie. Nic poważnego, żeby blokować przez to całą nową funkcję.
Do błędu można też dodać podpowiedź, aby kliknąć CTRL+SHIFT+T aby otworzyć ponownie ostatnią zamkniętą kartę. No ale wiadomo, użytkownik mógł po tym czasie wykonać jeszcze jakieś inne akcje.

Pomijając powyższe, "window.top.location.href" niestety nie działa (cross-origin frame). Sugeruję się raczej nad tym nie skupiać.

@zacny
Copy link
Owner

zacny commented Jul 29, 2019

Zrobiłem analogiczne rozwiązanie, ale oprogramowane jest ładniej. Nie ma jakiś sztucznych tworów.

@zacny zacny closed this as completed Jul 29, 2019
zacny added a commit that referenced this issue Jul 29, 2019
cyfrowa.tvp.pl - patch after page update
zacny added a commit that referenced this issue Dec 18, 2020
zacny added a commit that referenced this issue Dec 18, 2020
zacny added a commit that referenced this issue Dec 18, 2020
zacny added a commit that referenced this issue Dec 18, 2020
cyfrowa.tvp.pl - patch after page update
zacny added a commit that referenced this issue Dec 20, 2020
zacny added a commit that referenced this issue Dec 20, 2020
zacny added a commit that referenced this issue Dec 20, 2020
zacny added a commit that referenced this issue Dec 20, 2020
cyfrowa.tvp.pl - patch after page update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants