如何在本机应用中嵌入第三方内容?

时间:2016-08-03 14:12:39

标签: android ios appcelerator

我目前正试图弄清楚如何将Twitter和Facebook嵌入等第三方内容嵌入到原生应用中。

我正在使用的API返回页面信息的JSON数组和HTML内容 - 这是一个类似于BBC新闻,卫报,Mashable等的新闻应用程序。

对我而言,显示此信息的最佳方式是在WebView中(有替代方案吗?)。从API返回的HTML示例将格式化为

<p>This is the first paragaph before the tweet</p>
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Five charts you need to see before tomorrow&#39;s Bank of England interest rate   decision 
<a href="https://next.ft.com/content/75575eb8-7969-3d40-a411-db9ef32bb8a3">https://next.ft.com/content/75575eb8-7969-3d40-a411-db9ef32bb8a3</a> <a href="https://twitter.com/FT/status/760832630963208192/photo/1">pic.twitter.com/7tbDFQIIJj</a></p>&mdash; Financial Times (@FT) <a href="https://twitter.com/FT/status/760832630963208192">August 3, 2016</a> </blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p>And the story continues on from here...could have any number of HTML tags <img src=""/> <strong></strong><i></i> and even inline Javascipt or CSS</p>

我可以在webview中正确呈现这一点,但是如果用户点击推文,它将在webview上打开并接管整个屏幕。当它真正应该做的是在用户浏览器或本机应用程序(如果可用)中打开

Facebook嵌入和任何基于iFrame的嵌入都是一样的故事。

必须有一个简单的解决方案,我已经看到许多新闻应用程序,如Guardian和Mashable在他们的移动应用程序中有多个嵌入式推文,这些推文在浏览器或本机应用程序中打开(如果已安装)。

我尝试了什么

我尝试过注入JavaScript来监听和拦截点击事件,但是出于安全原因而渲染的iFrame无法实现。这似乎是一个非常粗糙的黑客,可以获得一些看似微不足道的工作。

我还试图收听webview的beforeload事件,尝试拦截加载到远程网址。如果用户点击常规a href链接,这可以正常工作,但如果是嵌入式推文/ facebook帖子则不行

我目前正在尝试使用Appcelerator构建我的原生应用程序,虽然它确实使用JavaScript,这是为了与Android和iOS的本机组件进行交互,我应该能够实现与纯粹本机应用程序相同的

我错过了一些非常明显的东西吗?

0 个答案:

没有答案