3

あるWebビューが別のWebビューの上にあり、内側のWebビュー内にページをロードしているとします。次に、外部Webviewのすべてのユーザー操作を無効にします。デスクトッププログラミングでこれをどのように達成できますか?

コードセグメントは次のとおりです。

IBOutlet WebView *innerWebView;
IBOutlet WebView *outerWebView;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    // Insert code here to initialize your application
   // NSString *path = [[NSBundle mainBundle] pathForResource:@"main" ofType:@"html"];
   // NSURL *url = [NSURL fileURLWithPath:path];
    [[myWebView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://icicibank.com"]]];
    [outerWebView setDrawsBackground:NO];
    [outerWebView setEditable:NO];

}
- (void)webView:(WebView *)webView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request newFrameName:(NSString *)frameName decisionListener:(id < WebPolicyDecisionListener >)listener{
    [myWebView setDrawsBackground:NO];
    [myWebView setEditable:NO];
    [outerWebView setDrawsBackground:YES];
    [outerWebView setEditable:YES];
    NSLog(@"hello");
    [[outerWebView mainFrame] loadRequest:request];
    [outerWebView webViewShow:outerWebView];
}

これらはアウトレットです。

4

2 に答える 2

1

この質問に対して受け入れられた回答を確認してください。

CocoawebView-すべてのインタラクションを無効にする

答えは、いくつかのユーザーイベントについて話します。WebUIDelegateプロトコルとプロトコルから、ニーズに合った方法を選択できますWebEditingDelegate

于 2012-08-15T14:09:25.873 に答える
0

BODY からのすべての HTML コードを の間に入れます<div onmousedown="return false"> ... </div>。これにより、たとえばユーザーが画像をドラッグするのを防ぐことができます...

このメソッドも追加します。

//Disabling the right click menu 
- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems {
    return nil;
}
于 2013-11-02T21:43:58.193 に答える