Mam niestandardowe okienko wyboru daty, które czasami nie działa w IE. Działa w Chrome i Edge dobrze.IE href = "javascript: customFunction()" nie uruchamia się przy pierwszym obciążeniu ramki
Kod wygląda mniej więcej tak:
<frameset>
<frame>Buttons for next/prev month/year</frame>
<frame>This is the actual calendar that gets redrawn when the above buttons are used
<a href="javascript:parent.opener.setDate(1);">1</a> //there's a different anchor tag for each day of the month
</frame>
<frameset>
Więc oto gdzie robi się trochę dziwne. Mamy dwie sieci, nazwijmy je starymi i nowymi. Stare ma prawdopodobnie wiele nieudokumentowanych zmian w polityce globalnej, a nowe są prawdopodobnie zbliżone do standardu gov. Działa to w dowolnej przeglądarce w starej sieci, ale nie w IE (11) w nowej sieci. Działa jednak w Edge. Dodatkowo, jeśli przyciski górnej ramki są używane do wybierania następnego/poprzedniego miesiąca lub po prostu przycisku "Dzisiaj", wszystkie dolne łączniki kotwicy działają normalnie. Nie ma błędów/ostrzeżeń konsoli, nic w monitorze sieci nie pokazuje, że żądanie zwróciło kod błędu, kliknięcia po prostu się nie rejestrują. Umieściłem punkt przerwania wewnątrz funkcji customFunction() i nie zostanie ono przerwane, gdy linki nie będą działać, ale ulegnie przerwaniu, jeśli łącze będzie działało.
Jedyną rzeczą, która wydaje się dziwne dla mnie jest to, że kod dla całej popup wygląda mniej więcej tak:
str = "<frameset><frame name='topFrame' " +
"src='javascript:parent.opener.drawTop'></frame><frame name='bottomFrame' "+
"src='javascript:parent.opener.drawBottom'><frame</frameset>"
document.write(str);
I wyglądał sprawdzić i kod, który rysuje dolną klatkę gdy prev/następna Przyciski/etc są tą samą funkcją, która jest wywoływana podczas pierwszego ładowania.
Jednak dziwne w tym jest to, że po pierwszym załadowaniu inspektor DOM pokazuje wszystko (górna ramka, dolna ramka zawierająca wszystkie indywidualne liczby dla każdego dnia miesiąca itd.), Ale Debugger (narzędzia F12) nie pokazuje kodu załadowanego z document.write (str); linia. Aby móc zobaczyć ten kod i ustawić punkty przerwania, muszę użyć przycisków prev/next, a następnie pojawi się dodatkowy plik .html w Debuggerze, który ma skonstruowany kod HTML, który pasuje do DOM.
Wow, nie spodziewałem się zobaczyć '
Znacznik zamykający jest niepoprawny na końcu definicji str: ''. Powinno to być ''. Nie wiem, czy jest to literówka w twoim poście, czy też jest obecna w twoim prawdziwym kodzie. – ConnorsFan
Czy możesz podać link do debugowania? –