Я пытаюсь добавить пост в Instagram в WebView. Сообщения идут отлично, и я могу получить доступ к ссылке. Однако видео не воспроизводится. Есть кнопка воспроизведения, и я нажимаю на нее, и первый кадр видео появляется, и она там застряла. Это происходит только для видео. Я могу получить доступ к сообщениям с изображениями просто отлично. Ниже приведен код, который у меня есть до сих пор. < /P>
func generateInstagramEmbedHtml(reelUrl: String) -> String {
return """
body {
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
background-color: transparent;
}
.instagram-media {
width: 100% !important;
max-width: 100% !important;
min-width: 100% !important;
}
window.onload = function() {
if (window.instgrm) {
window.instgrm.Embeds.process();
}
}
"""
}
struct WebView: UIViewRepresentable {
let html: String
func makeCoordinator() -> Coordinator {
return Coordinator()
}
func makeUIView(context: Context) -> WKWebView {
let webView = WKWebView()
webView.navigationDelegate = context.coordinator
webView.scrollView.isScrollEnabled = false
webView.configuration.defaultWebpagePreferences.allowsContentJavaScript = true
return webView
}
func updateUIView(_ webView: WKWebView, context: Context) {
webView.loadHTMLString(html, baseURL: URL(string: "https://www.instagram.com"))
}
class Coordinator: NSObject, WKNavigationDelegate {
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
webView.evaluateJavaScript("window.instgrm?.Embeds?.process()") { _, error in
if let error = error {
print("Embed processing error: \(error.localizedDescription)")
}
}
if navigationAction.navigationType == .linkActivated,
let url = navigationAction.request.url {
// Open in Safari
UIApplication.shared.open(url)
decisionHandler(.cancel)
print("Tapped URL: \(url.absoluteString)")
return
}
decisionHandler(.allow)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... os-webview
Instagram Embed Code Video не работает в iOS WebView ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Обратный вызов Instagram открывается в системном браузере вместо браузера Instagram Inapp.
Anonymous » » в форуме Php - 0 Ответы
- 59 Просмотры
-
Последнее сообщение Anonymous
-