2017-06-08 7 views
2

SafariでサインアップフォームJavaScriptコードは正常に動作しますが、UIWebViewとWKWebViewではフォームがロードされません。IOS WKWebViewとUIWebViewがJavaScriptをロードしていません。Safariが実行中にサインアップフォーム

ここは私のコードです。

import UIKit 
import WebKit 


class ViewController: UIViewController, WKNavigationDelegate { 

@IBOutlet weak var Webview: UIWebView! 

var webView: WKWebView! 
var websites = ["lampecompany.com", "lampecompany.com"] 

override func loadView() { 
    webView = WKWebView() 
    webView.navigationDelegate = self 
    view = webView 
} 
override func viewDidLoad() { 
    super.viewDidLoad() 

    let url = URL(string: "https://" + websites[0])! 
    webView.load(URLRequest(url: url) as URLRequest) 
    webView.allowsBackForwardNavigationGestures = true 

} 

メインページが正しく開き、この画面で[メニュー] - > [適用]をクリックします。ここで適用するフォームは表示されません。

ここには両方のスクリーンショットが添付されています。 SafariとWKWebViewです。

enter image description here enter image description here

Safariブラウザがそうであるように私WKWebViewが正しくSafariのように動作を開始し、それぞれを開き、すべてこれに関するすべてのヘルプ。

ここに私のウェブサイトのリンクをこのWKWebViewブラウザに入れ、その作業をします。 https://github.com/mbarnig/WKWebView

なぜ私のコードにはありませんか?私はアプリでも静脈で同じコードを使用しました。

ありがとうございました!

答えて

4

お客様のウェブページ登録フォーム(iframe)にSSLの問題があります。

iOSでは、http URLをロードする場合、info.plistファイルにApp Transport Security Settingsを追加する必要があります。

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSAllowsArbitraryLoads</key> 
     <true/> 
    </dict> 

この問題が次のように検出されました。

  1. [Safari] - > [設定] - > [詳細設定] - > [ ]メニューの[開発者]オプションを有効にします。
  2. シミュレータでアプリを実行し、MacのSafari ブラウザを開きます。
  3. 開発者メニュー - >シミュレータ - > サイトのURLを選択してください。
  4. Webページのコンソールログが表示されます。

下記のウェブページのコンソールログをご覧ください。

enter image description here

エラー:リソースの読み込みに失敗しました:エラーが発生しているSSLとhttps://www.lampeplacementservices.com/LampeOptin/LampeOptinReferralForm.html

+0

への安全な接続は、ありがとうございました!私は転送セキュリティの設定を追加し、任意の負荷を許可するはい、これは私のためにうまくいった。 – Arsal

+1

追加のヘッドアップと同じように:SSLなしでアクセスする必要がある実際のURLを知っていて、証明書を修正できない場合は、任意の負荷を許可するだけでなく、情報plistを許可するこの特定のURLの例外はhttps://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33アップルになる可能性がありますATSを強化することがより厳しくなり、今後NSArbitraryLoadsの理由を提示する必要があります(審査のためにあなたのアプリを提出するとき、私は意味します)。 :) – Gero

関連する問題