35452


## Current status

  * 自分用に単純なMacOSアプリを開発しています。
  * 仕様としてはWebKitで人気のあるレシピを検索するだけのものです(下記コード参照) 。
[code]     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 {
        }
    }
    }
    
[/code]

## Problem

  * GoogleChromeでは料理の画像が表示されるのですが、WebKitでは表示されません(下記画像参照)。 
    * GoogleChrome  
[![GoogleChrome](https://i.stack.imgur.com/RJJXRm.png)](https://i.stack.imgur.com/RJJXRh.png)

    * WebKit(Xcode Simulatror)  
[![WebKit\(Xcode
Simulatror\)](https://i.stack.imgur.com/MNvkAm.png)](https://i.stack.imgur.com/MNvkAh.png)

## Question

  * WebKitで検索した際に画像を表示する方法はありますか？

## Development Environment

  * Swift3

## Tried → Error

  * Tried : WebKitで検索する際に検索タブを "すべて" ではなく "画像" にする。  
→Error : 画像は表示されますが人気順ではなくなってしまう他、テキストも少なくなってしまう。

  * Tried : JavaScriptを無効にしたGoogle ChromeのビューはWebKit（Xcode Simulator）と同じ結果だったので以下のコードを追加した。
[code]     let preferences = WKPreferences()

    preferences.javaScriptEnabled = false
    
    let configuration = WKWebViewConfiguration()
    configuration.preferences = preferences
    
[/code]

→Error : そもそもデフォルトのWebKitではJavaScriptが有効になっているため、この方法では問題は解決しない。


CC BY-SA 3.0
2017-06-02T10:57:09.843
35223
2017-10-12T16:38:34.370
2017-10-12T16:38:34.370
23533
23533
question
swift macos google-chrome 画像
SwiftのWebKitで検索した際に画像が表示されない問題


この問題を解決するために、viewDidLoad（）にcustomUserAgentを追加しました。

[code]

    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”
    
[/code]

  * WebKit(Xcode Simulatror)  
[![CookingLog_customUserAgent](https://i.stack.imgur.com/QJjWqm.png)](https://i.stack.imgur.com/QJjWqh.png)


CC BY-SA 3.0
2017-06-10T03:40:17.597
35452
2017-06-16T02:43:28.387
2017-06-16T02:43:28.387
23533
23533
35223
answer