У меня есть клиентское приложение Mac, написанное на Objective-C, которое представляет пользователю список HTML-документов в таблице, и когда пользователь щелкает строку, он загружает выбранную HTML-страницу в WebView.
У каждой HTML-страницы есть прослушиватель «click», который вызывает метод Objective-C.
Когда приложение запускается и пользователь нажимает на первую строку, все работает нормально.Событие "click" перехвачено, и мой метод Objective C успешно вызван.
Однако, когда пользователь нажимает на вторую (или последующую) запись, а затем в нее загружается новая HTML-страницаWebView прослушиватель при «щелчке» никогда не срабатывает.
Если выбранная запись загружается первой, она всегда работает нормально, поэтому проблема не в одном из плохих HTML-файлов.К вашему сведению, все файлы в основном идентичны.
Я выкинул проблему в простом тестовом приложении.Его можно скачать здесь - http://dl.dropbox.com/u/160638/Work/TCL/MapTest2.zip
ПРИМЕЧАНИЕ. Тестовое приложение выводит сообщение в стандартный журнал, поэтому вам нужно проверить окно журнала в Xcode или Console.app, чтобы увидеть Objective-Cвызов метода работает (или нет).Кнопки вверху расположены попарно, сначала загружаются из локального файла, затем из HTML-страницы в виде строки, а затем извлекают HTML-страницу с веб-сайта.
В результате расширенного поиска, я предполагаю, что когда язагрузить вторую HTML-страницу в WebView, предыдущая страница каким-то образом сохраняется, и два слушателя при «щелчке» конфликтуют каким-то образом?Это возможно?
Кто-нибудь может порекомендовать способ загрузки HTML-страниц таким образом, чтобы сработали последующие загрузки?Есть ли способ гарантировать, что все страницы, ранее загруженные в WebView, будут полностью выгружены до того, как я загрузлю вторую страницу?
Буду признателен за любые предложения, которые вы можете сделать.
С уважением
Даррен.