我有一个ASP.net WebForms页面,屏幕顶部有很多内容.它有一个链接按钮,将回发到页面并显示页面的另一部分.当页面刷新时,我想设置焦点并向下滚动到页面的这一部分.
我试过了
txtField.Focus()
Run Code Online (Sandbox Code Playgroud)
在我的代码后面,它将设置焦点并尝试在那里滚动,但然后滚动回到顶部.焦点仍然在我的文本框上,但屏幕的位置在最顶层.链接位于屏幕顶部,导致回发.我想滚动到屏幕的最底部.它会短暂地执行此操作,然后向右滚动到顶部.
我试过设置
Page.MaintainScrollPositionOnPostback = false;
Run Code Online (Sandbox Code Playgroud)
但这似乎也没有帮助.
有什么方法可以强迫它去特定的位置吗?当我使用按钮或链接按钮回发时,是否可以在URL中添加锚标记?
document.getElementById('frmMain').elements
Run Code Online (Sandbox Code Playgroud)
我可以这样使用吗
document.getElementByName('frmMain').elements
Run Code Online (Sandbox Code Playgroud)
要么
document.getElementBytag('table').elements`
Run Code Online (Sandbox Code Playgroud) 我想从文件加载一个html页面,并为其添加一个哈希标记.这可能吗?
我试过了
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"someFile" ofType:@"html"];
NSURL *fileUrl = [NSURL fileURLWithPath:[filePath stringByAppendingFormat:@"#hashtag"]];
[self.webView loadRequest:[NSURLRequest requestWithURL:fileUrl]];
NSLog(@"fileUrl = %@, reachable? %d", fileUrl, [fileUrl checkResourceIsReachableAndReturnError:nil]);
Run Code Online (Sandbox Code Playgroud)
但这会尝试查找someFile.html%23hashtag无法找到的文件.有没有办法在NSURL创建对象后添加哈希?
我也尝试将文件加载到字符串中并使用loadHTMLString:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"someFile" ofType:@"html"];
NSString *fileContents = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:fileContents baseURL:[NSURL URLWithString:@"http://someFile.html#hashtag"]];
Run Code Online (Sandbox Code Playgroud)
这里的哈希标签确实有效,但我在html中的javascript引用不起作用.这个方法的后续问题是,如何从UIWebView中作为字符串加载的html引用javascript文件,即什么是基本URL?
我能想到的一个黑客就是将我的所有javascript文件内联到html中并将其加载为字符串,但我认为必须有更好的方法!
在我的网页上,我有一个溢出的div(即垂直滚动条).在div里面,我有ids的锚点.当我在URL(mypage.html#id)中放入其中一个ID时,我希望div而不是页面滚动到该锚点.
我该怎么做,最好使用纯JavaScript?如果它太复杂了,我将使用jQuery,但我不会在这个项目中使用它来做任何事情.