Mac OS / WebView: почему Flash и другие плагины недоступны при загрузке локальной страницы? - PullRequest
1 голос
/ 02 мая 2011

Мы работаем над приложением Objective C для настольных компьютеров Mac.

Мы используем компонент WebView для отображения HTML-страниц.

Когда страница загружается из локальной файловой системы, Flash-фильмы неотображается на странице.Как оказалось, проблема не совсем во Flash.Большинство плагинов WebView отсутствуют.

WebView plugins - local page is opened from the hard drive

Когда страница загружается из Интернета, Flash отображается правильно и доступно много плагинов.

WebView plugins - page is opened from the web

Проблема не возникает на моем Mac, но это происходит с 30% наших клиентов.Он воспроизводится на MacBook (не MacBook Air), версия для Mac OS 10.5.8.

Ребята, пожалуйста, помогите нам, я понятия не имею, как с этим справиться.Это единственное препятствие, мешающее выпуску продукта.

Почему плагины WebView недоступны при загрузке локальной страницы?

В чем может быть причина проблемы - настройка Safari, Macнастройки безопасности, какое-то программное обеспечение установлено?

Как воспроизвести проблему на моем Mac?

Это наш код инициализации WebView для загрузки локальной страницы.

IBOutlet WebView* webView;
...

[[webView preferences] setPlugInsEnabled:YES];    
WebFrame *mainFrame = [webView mainFrame];

NSString* path = [NSString stringWithFormat:@"%@/page.html",[[NSBundle mainBundle] resourcePath]];
NSURL* url = [NSURL fileURLWithPath:path];  

NSURLRequest *request = [NSURLRequest requestWithURL:url];
   [mainFrame loadRequest:request];

ИмеетеВы заметили какие-либо недостатки?

ОБНОВЛЕНИЕ 1

Тестовое приложение

Исходный код

ОБНОВЛЕНИЕ 2

Минимальный тест, я оставил только код, необходимый для открытия локальной страницы.Окно диагностики не отображается. Тестовое приложение, простое

Полный исходный код для приложения Делегат простого теста

#import "WebViewAppDelegate.h"

#import <WebKit/WebView.h>
#import <WebKit/WebFrame.h>

@implementation WebViewAppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    [[webView preferences] setPlugInsEnabled:YES];

    WebFrame *mainFrame = [webView mainFrame];
    NSString* path = [NSString stringWithFormat:@"%@/page.html",[[NSBundle mainBundle] resourcePath]];
    NSURL* url = [NSURL fileURLWithPath:path];  

    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [mainFrame loadRequest:request];

}

@end

Ответы [ 3 ]

2 голосов
/ 25 мая 2011

ваши плагины и оповещения могут блокировать ваши связанные js, краб не запускается в вашем веб-обзоре.

Я могу запустить swf в другом веб-просмотре приложений, указав на html-файл в содержимом пакета, и этобез включенных «плагинов».

вы можете попробовать добавить WebKitDeveloperExtras booleen true в ваш файл prefs, чтобы вы могли проверить с помощью webinspector.

1 голос
/ 27 мая 2011

ок,

запуск v2 из-за сбоя загрузки, я все еще получил предупреждение о плагинах и без краба

, поэтому я перестроил проект xcode и включил 10.5 в качестве цели, затем вручную переместилhtml и swf в содержимое, и он сообщает обо всех плагинах safari и работает на 10.5.8

, поэтому, хотя ваш plist говорит, что 10.5 [мин] ваша цель sdk была / равна 10.6, поэтому она не будет работать на 10.5

Джон

1 голос
/ 25 мая 2011

Я запустил его в Google 'SketchUp' WebDialog, файл Nib имеет такие же настройки параметров, как и ваши.Если вы не знакомы с SU, у вас есть Ruby Console, и вы можете писать или обслуживать html-файлы.Бесплатная версия и немного рубина - все, что требуется.джон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...