Я сделал пример приложения, состоящего из: WebView (для отображения содержимого URL-адреса), текстового поля (для размещения URL-адреса), кнопки (для загрузки URL-адреса в WebView).Проблема при отображении содержимого в WebView в Leopard
Я использовал этот метод для отображения содержимого в WebView:
- (IBAction)displayAction:(id)sender{
NSString *liveStreamLink = [[NSString alloc] initWithString:[livestreamLinkTextField stringValue]];
[[livestreamDisplayView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:liveStreamLink]]];
}
Я сделал это приложение в обоих Leopard и Snow Leopard.
Нормальные ссылки, такие как - https://stackoverflow.com/, корректно открываются в обоих приложениях, но когда я пытаюсь использовать ссылку, такую как -http://www.xyz.com/tools/gauges/livestream.php?data=123456, (Примечание: эта ссылка возвращает график), в приложении, разработанном в леопарде, это вызывает сбой , Приложение, разработанное в Snow Leopard, отлично работает для всех типов ссылок.
Может ли кто-нибудь предложить мне, что может быть его причиной и какое-то решение для его решения?
Стек трассировки следующим образом:
0 0x928252e6 in Debugger
1 0x1b7e8c15 in dyld_stub_sprintf
2 0x1b7e8ecf in NP_Initialize
3 0x90f0599f in -[WebNetscapePluginPackage _tryLoad]
4 0x90f054d7 in -[WebNetscapePluginPackage load]
5 0x90f0a8af in -[WebNetscapePluginDocumentView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]
6 0x90ef41da in WebFrameLoaderClient::createPlugin
7 0x930bd908 in WebCore::FrameLoader::loadPlugin
8 0x936ae0da in WebCore::FrameLoader::requestObject
9 0x930bc409 in WebCore::RenderEmbeddedObject::updateWidget
10 0x92f32e65 in WebCore::FrameView::updateWidgets
11 0x92f329c1 in WebCore::FrameView::performPostLayoutTasks
12 0x92f22e33 in WebCore::FrameView::layout
13 0x9306f72b in WebCore::Timer<WebCore::FrameView>::fired
14 0x92f9e94e in WebCore::ThreadTimers::sharedTimerFiredInternal
15 0x92f9e822 in WebCore::ThreadTimers::sharedTimerFired
16 0x93860624 in WebCore::timerFired
17 0x9621a70b in __CFRunLoopRun
18 0x96218094 in CFRunLoopRunSpecific
19 0x96217ec1 in CFRunLoopRunInMode
20 0x96e48f9c in RunCurrentEventLoopInMode
21 0x96e48d51 in ReceiveNextEventCommon
22 0x96e48bd6 in BlockUntilNextEventMatchingListInMode
23 0x902b0a89 in _DPSNextEvent
24 0x902b02ca in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
25 0x9027255b in -[NSApplication run]
26 0x9026a5ed in NSApplicationMain
27 0x000029ee in start at ESTableView.m:1278
Это не достаточно, чтобы сказать, что это приводит к сбою. Вывести трассировку стека. –
Кроме того, первая строка (где вы создаете liveStreamLink) совершенно не нужна. Вы можете просто передать [livestreamLinkTextField stringValue] непосредственно в -URLWithString: ... Ненужный код просто означает больше шансов на то, что все пойдет не так. Храните его так просто, как вы можете, но все же делая его читаемым. –
хорошо, спасибо за ваш совет! – Devarshi