Html 在lion中禁用webview的橡皮筋滚动
我有一个Cocoa webview,里面有一个web应用程序。web应用程序本身有一个固定的工具栏,并且由于具有弹性滚动,并且工具栏位于顶部之下,所以看起来很糟糕。有没有办法禁用弹性/橡皮筋滚动,或者至少阻止工具栏与其他内容一起移动?我可以根据需要修改web应用程序。可能会对您有所帮助Html 在lion中禁用webview的橡皮筋滚动,html,macos,webview,osx-lion,Html,Macos,Webview,Osx Lion,我有一个Cocoa webview,里面有一个web应用程序。web应用程序本身有一个固定的工具栏,并且由于具有弹性滚动,并且工具栏位于顶部之下,所以看起来很糟糕。有没有办法禁用弹性/橡皮筋滚动,或者至少阻止工具栏与其他内容一起移动?我可以根据需要修改web应用程序。可能会对您有所帮助 简而言之:在HTML和BODY上禁用overflow,在所有页面内容周围添加一个带有overflow:auto的包装,如果您有兴趣从WebView和Cocoa角度执行此操作,您还可以实现finish load委托
简而言之:在
HTML
和BODY
上禁用overflow
,在所有页面内容周围添加一个带有overflow:auto
的包装,如果您有兴趣从WebView
和Cocoa角度执行此操作,您还可以实现finish load委托,抓取滚动视图,和禁用弹性:
- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
NSScrollView *mainScrollView = sender.mainFrame.frameView.documentView.enclosingScrollView;
[mainScrollView setVerticalScrollElasticity:NSScrollElasticityNone];
[mainScrollView setHorizontalScrollElasticity:NSScrollElasticityNone];
}
我知道这个评论可能不会被接受,因为已经有答案了 但是,您可以在
NSView
(文档)上调用一个实际方法:
注意:jQuery UI对话框总是附加到
正文
,因此您需要将它们重新发布到内容div中,以使其正常工作。这可以防止任何滚动,包括不滚动Web视图内的内容,例如带有滚动条的div。OP的问题只是关于关闭网络视图的“反弹”效应。Vervious的回答在这种情况下是正确的。来自谷歌。虽然这并不能回答我的问题,但这正是我来这里寻找的+1@asgeo1那不是真的。我从AppDelegate的ApplicationIDFinishLaunching运行了这段代码,其中包含滚动div和iframe。他们工作得非常好。这一行代码修复了反弹效果,使我的webkit应用程序看起来更像一个应用程序,而不像一个网页。这是从可可的角度来做的,这就是问题所问的。使用JavaScript/HTML只能很容易地在自定义页面上使用。您能否进一步说明为什么使用这种特定的委托方法?例如,为什么不在资源加载委托中,或者甚至在awakeFromNib中?这是一个很难找到的问题和答案,也很难解释。我在“cocoa webkit bounce effect”上搜索,没有找到这个。必须尝试另一个关键字“cocoa webkit scroll”。我很高兴你把它寄出去了。我想建议删除osx lion标签,因为它适用于所有osx,同时也从问题标题中删除“in lion”。这将使其他人更容易找到这个重要的问题和答案。此外,下面briangonzalez的一行文字也解决了我的问题,而不是你选择的答案。这也比kizu的回答更容易做到。
[[[webView mainFrame] frameView] setAllowsScrolling:NO];