gpt4 book ai didi

javascript - UIWebView 未正确加载 JavaScript - 嵌入式 Facebook 帖子

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:43 28 4
gpt4 key购买 nike

Facebook 拥有这项新功能,允许用户将公开帖子嵌入到网页中。我想尝试在 UIWebView 内的 iPhone 应用程序中使用它。转义必要的代码非常简单,但即使我手动转义代码, WebView 也不会正确加载帖子。 JavaScript 根本不起作用。

class WebViewController: UIViewController{


@IBOutlet weak var webView: UIWebView!


override func viewDidLoad() {
loadFacebookPost()
}

func loadFacebookPost(){
//Code from Facebook as a string
var myHTML: String = "<html><body><div id=\"fb-root\"></div><script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = \"//connect.facebook.net/sv_SE/sdk.js#xfbml=1&version=v2.3\"; fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));</script><div class=\"fb-post\" data-href=\"https://www.facebook.com/BestofVines/posts/691077077726242\" data-width=\"350\"><div class=\"fb-xfbml-parse-ignore\"><blockquote cite=\"https://www.facebook.com/BestofVines/posts/691077077726242\"><p>Steven Tyler made this girl&#039;s day!</p>Posted by <a href=\"https://www.facebook.com/BestofVines\">Best Vines</a> on&nbsp;<a href=\"https://www.facebook.com/BestofVines/posts/691077077726242\">den 2 oktober 2015</a></blockquote></div></div></body></html>"
webView.loadHTMLString(myHTML, baseURL: nil)

}

这是我试图嵌入的帖子

它是这样显示的

enter image description here

我在 myHTML 中用 \" 替换了所有引号。我错过了什么?

编辑

我也试过 this解决方案。这次 View 是空白的,没有显示任何内容。代码:

import Foundation
import UIKit
import WebKit

class WebViewController: UIViewController{

@IBOutlet var uiview: UIView!
var webView: WKWebView?

override func loadView() {
super.loadView()
self.webView = WKWebView()
self.uiview = self.webView!
}

override func viewDidLoad() {
super.viewDidLoad()
loadFacebookPost()
}

func loadFacebookPost(){
var path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! NSString
path = path.stringByAppendingString("/myHTML.html")
var textHTML: String = "<html><body><div id=\"fb-root\"></div><script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = \"//connect.facebook.net/sv_SE/sdk.js#xfbml=1&version=v2.3\"; fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));</script><div class=\"fb-post\" data-href=\"https://www.facebook.com/BestofVines/posts/691077077726242\" data-width=\"350\"><div class=\"fb-xfbml-parse-ignore\"><blockquote cite=\"https://www.facebook.com/BestofVines/posts/691077077726242\"><p>Steven Tyler made this girl&#039;s day!</p>Posted by <a href=\"https://www.facebook.com/BestofVines\">Best Vines</a> on&nbsp;<a href=\"https://www.facebook.com/BestofVines/posts/691077077726242\">den 2 oktober 2015</a></blockquote></div></div></body></html>"
var ok: Bool = textHTML.writeToFile(path as String, atomically: true, encoding: NSUTF8StringEncoding, error: NSErrorPointer())
if ok {
println("Write done!")
var url: NSURL = NSURL.fileURLWithPath(path as String, isDirectory: false)!
webView!.loadRequest(NSURLRequest(URL: url))
}
else {
println("Error!")
}
}
}

最佳答案

我使用 GCDWerbServer 解决了这个问题: https://github.com/swisspol/GCDWebServer

因此,我使用服务器加载本地 css 文件、js 和图像,这使您能够为 web View 基本 url 设置 http 链接。执行此操作后,Facebook 帖子、视频开始像在常规浏览器中一样出现。

关于javascript - UIWebView 未正确加载 JavaScript - 嵌入式 Facebook 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32921577/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com