【问题标题】:UIWebView html file with swf load external link, but internalUIWebView html 文件与 swf 加载外部链接,但内部
【发布时间】:2012-08-09 22:52:21
【问题描述】:

当我加载嵌入了 SWF 的外部 HTML 时,它在 UIWebView 中工作。
当我尝试在 Xcode 中添加所有文件并在本地加载 UIWebView 时,什么都没有出现,但我知道它试图加载...
-代码:

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...");
}

-这里是 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。

谢谢。

【问题讨论】:

    标签: html objective-c uiwebview flash


    【解决方案1】:

    我怀疑 Apple 不会构建 JavaScript 并在 HTML 中处理嵌入的 SWF 文件。

    所以我寻找一种在 iOS 中创建 webservice 的方法来编译和运行此处需要的 SWF (https://github.com/robbiehanson/CocoaHTTPServer/)。
    SWF 文件不是纯文件,它会编译并转换为 HTML 可接受的格式。 XCode 本身没有的东西。 所以,我得到了我们需要的结果。

    如果有人需要,这就是解决方案,创建一个小型 Web 服务来编译 javascript 和服务器要处理的其他内容并以 HTML 显示最终结果。

    【讨论】:

    • 你能解释一下你的解决方案吗?
    • 我使用了我上面提到的插件。然后,他将 iPhone 或 iPad 变成了“网络服务”,即 Javascript,它编译 SWF 以在 HTML 作品中运行。否则,iOS 不会。做一个简单的测试,去你设备上浏览器编译过FLASH的站点,尝试用HTML写同样的代码,尝试在iOS上运行,不行。当使用插件在 iOS 中使用“webservice”时,代码通常可以工作。是我最好的解释吗?还是不行?
    • 谢谢。我明白你的解释。
    【解决方案2】:

    我无法理解您的问题 - 但 Flash 不能在 UIWebView 中工作。如果您在 Safari 中浏览特定网站,并且它似乎可以正常工作,则该网站可能正在提供 HTML5 版本。

    【讨论】:

    • 我找到了解决方案,见上或下(不知道我的答案在哪里嘿嘿嘿)...
    【解决方案3】:

    iOs 严格不支持任何包含 swf 的 flash 项目。

    原因: 1)闪存耗尽了要运行的电池,必须解码 swf 解码应该在硬件级别而不是在软件级别,不幸的是 5o % 的闪存项目百分比(不是最新的)导致使用软件级别解码

    2) 导致安全漏洞 甚至 mcaFee 也声称上述一项至关重要

    3) 应用程序崩溃: flash 是 mac 中应用程序崩溃的第一大原因

    4) 易于开发: Mac 不希望他们的开发人员将注意力转移到第三方项目上,第三方不会为特定平台定制它最终将是跨平台的。

    5)经济原因: 在 ios 上允许 flash 将与应用商店竞争..

    所以由于上述原因 ios 不支持 flash

    如果您想要任何图表的 Flash,您可以通过以下链接进行操作

    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

    【讨论】:

    • 谢谢,但问题不在于它!再次感谢 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 2011-02-12
    • 2020-11-28
    相关资源
    最近更新 更多