2011-09-22 101 views
0

我对从网站调用本地应用程序感到困惑。 有什么办法从网页脚本启动一个ipad/iphone应用程序?我记得有IE浏览器可以启动本地设备,如相机或打印机的ActiveX。 JavaScript可以调用ActiveX。但iOS中没有activeX。这是我的问题:我如何从网页启动本地设备?有没有人有同样的问题?我有一种方法,但我不知道是否可行:如何从Web脚本调用本地外围设备

  1. UIWebView可以通过stringByEvaluatingJavaScriptFromString执行JavaScript。
  2. 在页面中使用JavaScript编写函数,响应页面上的事件(按钮点击等),然后更改状态。
  3. 开始线程查询状态。当状态改变时,调用本地应用程序。

这是可能或更好的方法吗?

回答

0

如果你想从你的iPad的Safari浏览器打开你的应用程序,然后有一种方法来做到这一点。添加以下代码会在应用程序的Info.plist文件:

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLName</key> 
     <string>com.companyname.appname</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>openApp</string> 
     </array> 
    </dict> 
</array> 

保存plist文件,现在在网页上放openApp://到位的链接时,用户点击所需的按钮。如果您尝试在Web视图中的自己的应用中实现它,这将不会有帮助。但它可以从iPad或任何其他应用程序的Safari浏览器中运行。

我希望这是有帮助的。

+0

谢谢,它确实有效。但是,我仍然想在UIWebView中实现这一点。有没有可能的方法? – user958797

+0

是的,您也可以从网络视图中进行此操作。但是你不能从App A的webview中调用App A,因为它没有任何意义。您将只能从App A的webview中调用另一个应用程序。所以,最好的做法是将您的应用程序的网页链接重定向到Safari,然后再使用上述方法移回您的应用程序。 –