Вам нужно уничтожить старый экземпляр таблицы данных, а затем повторно инициализировать таблицу данных
Сначала Проверьте, существует ли экземпляр таблицы данных с помощью $ .fn.dataTable.isDataTable
, если существует, затем уничтожить его, а затем создать новый экземпляр, подобный этому
if ($.fn.dataTable.isDataTable('#dataTableExample')) {
$('#dataTableExample').DataTable().destroy();
}
$('#dataTableExample').DataTable({
responsive: true,
destroy: true
});
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)
.Вы можете настроить систему, подобную той, что используется в PhoneGap, для отправки сообщений из JavaScript в Objective-C и ведения журнала оттуда. В двух словах, они устанавливают document.location с пользовательской схемой и блокируют эту схему в обратном вызове делегата.
Вы можете воспользоваться тем, что UIWebView - это большинство делегатов для WebView. WebKit технически недокументирован для iPhone, но в основном это то же самое, что указано в заголовках WebKit для настольных ПК, возможно, включая WebScriptObject. Я использую это для отладки, но не забудьте удалить этот код перед отправкой в Apple.
Чтобы получить WebView из UIWebView, реализуйте метод делегата типа -(void) webView:(id)inWebView didFinishLoadForFrame:(id)inWebFrame
в подклассе UIWebView. Вызовите super, если вы используете его.