Каковы некоторые методы для отладки Javascript внутри UIWebView?

Вам нужно уничтожить старый экземпляр таблицы данных, а затем повторно инициализировать таблицу данных

Сначала Проверьте, существует ли экземпляр таблицы данных с помощью $ .fn.dataTable.isDataTable

, если существует, затем уничтожить его, а затем создать новый экземпляр, подобный этому

    if ($.fn.dataTable.isDataTable('#dataTableExample')) {
        $('#dataTableExample').DataTable().destroy();
    }

    $('#dataTableExample').DataTable({
        responsive: true,
        destroy: true
    });
127
задан bpapa 8 May 2010 в 14:08
поделиться

2 ответа

alert() определенно работает для меня.

Однако вы также можете сделать множество других вещей, например, создать собственное DHTML-оповещение, всплывающее в слое. Это может быть полезно, поскольку вы можете сделать несколько оповещений в одном div, не останавливая работу приложения. Вы также должны иметь возможность записать трассировку стека (трассировка стека находится в объекте исключения, и вы всегда можете создавать свои собственные исключения).

В качестве альтернативы, при запуске на симуляторе, ваш пользовательский "alert()" может вызвать objective C и отобразить строку в консольном окне симулятора iPhone:

document.location.href = "http://debugger/" + 
   encodeURIComponent(outputString);   

и на стороне objective C:

//--------------------------------------------------------------------
- (BOOL)webView:(UIWebView*)webView 
       shouldStartLoadWithRequest: (NSURLRequest*)req 
       navigationType:(UIWebViewNavigationType)navigationType {
    if ([[[req URL] host] isEqualToString:@"debugger"]){
        // do stuff with [[req URL] path] 
       }
}

Что касается этого, у меня есть приложение, которое сильно зависит от UiWebView / javascript, и я склонен делать большую часть разработки javascript в Chrome (имитируя то, что необходимо в среде iPhone)

.
9
ответ дан 24 November 2019 в 00:21
поделиться

Вы можете настроить систему, подобную той, что используется в PhoneGap, для отправки сообщений из JavaScript в Objective-C и ведения журнала оттуда. В двух словах, они устанавливают document.location с пользовательской схемой и блокируют эту схему в обратном вызове делегата.

Вы можете воспользоваться тем, что UIWebView - это большинство делегатов для WebView. WebKit технически недокументирован для iPhone, но в основном это то же самое, что указано в заголовках WebKit для настольных ПК, возможно, включая WebScriptObject. Я использую это для отладки, но не забудьте удалить этот код перед отправкой в Apple.

Чтобы получить WebView из UIWebView, реализуйте метод делегата типа -(void) webView:(id)inWebView didFinishLoadForFrame:(id)inWebFrame в подклассе UIWebView. Вызовите super, если вы используете его.

-1
ответ дан 24 November 2019 в 00:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: