У меня очень простое приложение Mac Cocoa, у которого есть только веб-представление, которое загружает HTML-файл с помощью CSS и JavaScript. Я подключил приложение делегата этого метода:Как включить javascript в WebView
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSString* filePath = [[NSBundle mainBundle] pathForResource: @"index" ofType: @"html"];
NSURL *url = [NSURL URLWithString: filePath];
[[self.webView mainFrame] loadHTMLString: [NSString stringWithContentsOfFile: filePath] baseURL: url];
}
Файл index.html содержит следующее:
<html>
<head>
<title>Hello, World!</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
jQuery(function($){
$('h1').fadeOut()
})
</script>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
Файл style.css получает загружен правильно, потому что я установить фон на серый в этом, поэтому я знаю, что он может загружать другие активы из комплекта ресурсов. Код javascript не выполняется. Если я открою index.html в Safari, Hello World h1
исчезнет, как и ожидалось. Почему это не происходит в приложении в моем WebView? Должен ли я что-то сделать для включения JavaScript? В интерфейсе Builder установлен флажок рядом с JavaScript.
Код для этого доступен на http://github.com/pjb3/WebViewApp
Я сделал эти обновления, которые имеют смысл, но он все еще не работает. Вы можете увидеть код на http://github.com/pjb3/WebViewApp – pjb3
А, я понял. Я не знал, что вы подразумеваете под «включением файла jquery.js в ресурсы пакета». Я перетащил файлы .js, которые были в папке ресурсов, в «Копировать ресурсы Bundle» um ... thing :) в разделе WebViewApp в Targetets. Все хорошо, спасибо! – pjb3
Это Лора. Я застрял в одной и той же проблеме, но после решения ур также проблема не решена. Скажите, пожалуйста, как мы можем проверить, что javascript включен в IB. Я не устанавливаю флажок javascript. – Aisha