WebKitで、外部リソースへのアクセスを抑制する

JavaScript, Cocoa Add comments

JavaScriptでXMLHttpRequestを使うと、外部ファイルを読み込めますが、ClipMenuから実行する文字列処理には必要ありません。そこで、WebKitが外部リソースにアクセスできないような変更を加えてみました。

まず、webViewをインスタンス化した後に、delegateを設定。

[webView setPolicyDelegate:self];

WebPolicyDelegateプロトコルのメソッドを実装します。

- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id)listener
{
    [listener ignore];
}

これで、ClipMenuで実行したJavaScriptでXMLHttpRequestを使ったhttpアクセスを行うと、”Permission denied”と、エラーになるようにできました。

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン