2012-08-09 90 views
1

當我加載嵌入了SWF的外部HTML時,它在UIWebView中工作。
當我嘗試添加在Xcode中的所有文件,並加載出現UIWebView的地方,沒有什麼,但我知道它試圖加載...
-The代碼:帶有swf加載外部鏈接的UIWebView html文件,但內部爲

NSString *filePath = 
[[NSBundle mainBundle] pathForResource:@"vimmar" ofType:@"html"]; 
NSData *htmlData = [NSData dataWithContentsOfFile:filePath]; 

if (htmlData) 
{ 
    NSBundle *bundle = [NSBundle mainBundle]; 
    NSString *path = [bundle bundlePath]; 
    NSString *fullPath = [NSBundle pathForResource:@"vimmar" 
              ofType:@"html" inDirectory:path]; 
    [pagina_web_local loadRequest:[NSURLRequest requestWithURL: 
          [NSURL fileURLWithPath:fullPath]]]; 
} 
else 
{ 
    NSLog(@"No data for you..."); 
} 

-and這裏HTML

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <title>Default</title> 
    <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> 
    <meta name="apple-mobile-web-app-capable" content="yes"/> 
    <style type="text/css"> 
    @media only screen and (min-device-width: 800px) { html { overflow:hidden; } } 
    * { padding: 0; margin: 0; } 
    html { height: 100%; } 
    body { height: 100%; overflow:hidden; } 
    #container { height: 100%; min-height: 100%; width: 100%; margin: 0 auto; } 
    </style> 
    </head> 
    <body> 
    <script src="swfobject/swfkrpano.js"></script> 
    <div id="container"> 
    <div id="panoDIV" style="height:100%;"> 
    <script> 
     embedpano({target:"panoDIV",swf:"vimmar.swf"}); 
    </script> 
     <noscript> 
     <div id="tour"> 
      <object width="100%" height="100%"> 
      <embed src="vimmar.swf" width="100%" height="100%" allowFullScreen="true"></embed> 
      </object> 
     </div> 
     </noscript> 
    </div> 
    </div> 
</body> 
</html> 

不知道它是否與蘋果不接受SWF的事實有關。但是,如果不是,爲什麼要在外面進行?你同意嗎?

不缺少添加文件。 JS或其他,因爲我在這裏找到一個工作人員加載時遇到問題。 JS被閱讀和使用,但沒有找到SWF。

謝謝。

回答

3

我懷疑蘋果公司不會構建JavaScript並在HTML中處理嵌入的SWF文件。

所以我找了個辦法在iOS上創建一個webservice來編譯和運行這裏需要的SWFhttps://github.com/robbiehanson/CocoaHTTPServer/)。
SWF文件不純,它編譯並轉換成HTML可接受的格式。那個XCode不原生。 所以,我得到了我們需要的結果。

如果有人需要,這是解決方案,創建一個迷你web服務來編譯JavaScript和其他服務器要處理的內容並在HTML中顯示最終結果。

+0

你能解釋一下你的解決方案嗎? – Petr 2013-01-10 08:01:31

+1

我使用了上面提到的插件。然後他將iPhone或iPad變成一個「web服務」,即Javascript,它編譯SWF以運行HTML工作。否則,iOS不會。 進行一個簡單的測試,進入一個由瀏覽器在您的設備上編譯FLASH的網站,嘗試在HTML中編寫相同的代碼並嘗試在iOS上運行,這將無法工作。當使用插件在iOS中使用「webservice」時,代碼通常可以工作。 是我最好的解釋嗎?或不? – 2013-01-10 13:44:12

+0

謝謝。我理解你的解釋。 – Petr 2013-01-10 14:10:05

1

我無法理解您的問題 - 但Flash將而不是工作在UIWebView中。如果您在Safari瀏覽器中瀏覽特定網站,並且它似乎正在運行,那麼該網站可能改爲提供HTML5版本。

+0

我找到了解決辦法,見上面或下面(不知道我的答案在這裏hehehehe)... – 2012-08-13 22:33:23

1

iOs嚴格不支持任何包含swf的flash項目。

原因:1)閃存耗盡即將運行的電池,swf必須被解碼解碼應該在硬件級別上而不是在軟件級別上不幸的是閃存項目(不是最新)的5o%百分比導致使用軟件級別解碼

2)引起的安全漏洞 甚至McAfee還要求上述一個作爲臨界

3)應用程序崩潰: 閃光是數字原因在MAC

4)易於開發應用程序崩潰之一: Mac不希望他們的開發人員將注意力集中到第三方項目上,第三方不會爲特定的平臺定製它將最終跨平臺。

5)Finacial原因: 允許在iOS上的Flash將與應用商店競爭..

所以對於上述原因的iOS不要支持flash

如果u想閃爍任何圖表ü可以經過follwing鏈接

http://blog.fusioncharts.com/2012/02/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt/ http://docs.fusioncharts.com/charts/contents/FirstChart/UsingPureJS.html http://docs.fusioncharts.com/charts/contents/index.html?FirstChart/UsingPureJS.html

+0

謝謝,但問題不在於它!再次感謝;) – 2013-04-09 17:23:43