如何在webkit中显示图像?

时间:2017-06-02 08:09:51

标签: swift image macos google-chrome webkit

当前状态

  • 我开发了一个简单的Mac OS应用程序。
  • 此应用程序通过WebKit搜索食谱。

    import Cocoa
    import WebKit
    
    class ViewController: NSViewController {
    
    @IBOutlet weak var searchTextField: NSTextField!
    @IBOutlet weak var browserWebView: WKWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        browserWebView.translatesAutoresizingMaskIntoConstraints = true
        searchTextField.translatesAutoresizingMaskIntoConstraints = true
        let StringURL:String = "https://www.google.co.jp/search?q=ピザ+inurl:/recipe/+site:cookpad.com"
        let url = URL(string:StringURL.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)!)
        let urlRequest = URLRequest(url: url!)
        self.browserWebView.load(urlRequest)
    
    }
    override var representedObject: Any? {
        didSet {
        }
    }
    }
    

问题

  • GoogleChrome显示食物图像,但WebKit没有(见下图)。

    • GoogleChrome

    GoogleChrome

    • WebKit(Xcode Simulatror)

    WebKit(Xcode Simulatror)

  • 我想阅读足够多的文字图片,所以我选择不是“图片标签”而是“所有标签”选项

问题

  • 如何通过webkit显示图像?

开发环境

  • Swift3

尝试→错误

  • 尝试:禁用JavaScript的Google Chrome视图与WebKit(Xcode Simulator)的结果相同。所以我添加了以下代码。

    let preferences = WKPreferences()
    preferences.javaScriptEnabled = true
    
    let configuration = WKWebViewConfiguration()
    configuration.preferences = preferences
    

    →错误:默认WebKit启用JavaScript,因此此方法无法解决问题。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

我在viewDidLoad()中添加了customUserAgent来解决这个问题。

browserWebView.customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36”
  • WebKit(Xcode Simulatror)

CookingLog_customUserAgent