簡體   English   中英

如何在UIWebView中加載HTML對象?

[英]How do I load a HTML Object in UIWebView?

我是iPhone開發的新手,正在嘗試將HTML對象加載到UIWebView

問題是當我將HTML數據轉換為字符串時,應用程序崩潰並顯示EXC_BAD_ACCESS 該對象是一個Brightcove視頻,我直接從Brightcove網站復制了嵌入代碼,所以我不明白為什么它不起作用。 任何幫助是極大的贊賞。

碼:

NSString *brightstring = [NSString stringWithFormat:@"<html><body><object id=flashObj width=540 height=400 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0><param name=movie value=http://c.brightcove.com/services/viewer/federated_f9?isVid=1 /><param name=bgcolor value=#FFFFFF /><param name=flashVars value=videoId=%@&playerID=659636031001&playerKey=AQ~~,AAAAC59qSJk~,vyxcsD3OtBM6WfpHEsDft5laXH9ASJhF&domain=embed&dynamicStreaming=true /><param name=base value=http://admin.brightcove.com /><param name=seamlesstabbing value=false /><param name=allowFullScreen value=true /><param name=swLiveConnect value=true /><param name=allowScriptAccess value=always /><embed src=http://c.brightcove.com/services/viewer/federated_f9?isVid=1 bgcolor=#FFFFFF flashVars=videoId=%@&playerID=659636031001&playerKey=AQ~~,AAAAC59qSJk~,vyxcsD3OtBM6WfpHEsDft5laXH9ASJhF&domain=embed&dynamicStreaming=true base=http://admin.brightcove.com name=flashObj width=540 height=400 seamlesstabbing=false type=application/x-shockwave-flash allowFullScreen=true swLiveConnect=true allowScriptAccess=always pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash></embed></object></body></html>", clipid]; //<--Crashes Here

NSString* html = [NSString stringWithFormat:brightstring, 540, 400];  

[videoScreen loadHTMLString:html baseURL:nil];  

很簡單:

NSString *brightstring = [NSString stringWithFormat:@"...videoId=%@&...videoId=%@&...", clipid]; //<--Crashes Here

您的格式字符串中有兩次%@ ,但是只傳遞了一個參數。

我建議從文件加載HTML,並使用-stringByReplacingOccurrencesOfString:withString:填寫視頻ID(使用${VIDEO_ID}類的占位符)。

看起來該視頻是Flash視頻,據我所知(可能是我錯了),但iOS不支持Flash。 嘗試使用其他格式,例如mp4,mpv,3gp等。出於測試目的,我將首先托管.html文件(如果您有托管公司,或者使用apache在本地運行),然后從手機的網絡瀏覽器訪問它。 如果它在那里不起作用,那么可以肯定它也不會以這種方式起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM