我想使用JavaScript动态插入表单,然后提交它并在新窗口中打开目标.
这是我的代码:
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", xxx);
form.setAttribute("onsubmit", "window.open('about:blank','Popup_Window','scrollbars=yes,width=550,height=520');");
form.setAttribute("target", "Popup_Window");
document.body.appendChild(form);
form.submit();
Run Code Online (Sandbox Code Playgroud)
此代码有效 - 它动态插入表单并成功提交表单.但是,表单在新选项卡中打开,而我希望它在新窗口中打开.有什么想法吗?对于如何解决这个问题,有任何的建议吗?我也对jQuery持开放态度.
谢谢!
编辑:我不确定为什么人们将此标记为重复.是的,它与其他问题在同一主题上,但答案没有关系 - 声称的重复问题有一个新的行,搞乱了代码,我没有,但我的代码仍然无法正常工作......
我在注册表中使用 reCAPTCHA。在某些情况下,我想强制用户必须重新完成 reCAPTCHA。我知道我可以用来grecaptcha.reset();重置 reCAPTCHA。我的问题是,是否有类似的命令来告诉Google这是一个高风险用户并强制用户重新完成验证码(也许使用更强的验证码),而不仅仅是简单地重置验证码?
这是我的场景。我正在使用 WebView 在应用程序中显示我的移动就绪网站。我们定期更新我们的网站并自动清除我们的网站缓存,以便访问者获得我们网站的最新版本而不是过时的版本。我注意到有时 WebView 会提供旧内容 - 它有时不会加载我们网站的新版本。因此,我正在寻找一种方法来强制 WebView 显示新内容。
我知道我可以完全禁用 WebView 缓存并强制它每次都从我们的服务器抓取页面,但这效率很低。我希望缓存页面是最新版本时使用的缓存;如果不是,则不应使用缓存。
我能想到的唯一方法是手动清除缓存,如下所示:
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.clearCache(true);
}
Run Code Online (Sandbox Code Playgroud)
但是,这又是低效的——不需要在每次页面查看后清除整个缓存。我的问题是,有没有办法清除刚刚缓存的 HTML 文件并保留 CSS / JS / 等?这将是始终清除缓存和有时提供过时内容之间的一个很好的折衷方案。通过在每次页面视图后仅删除缓存的 HTML 文件,WebView 被迫从我的服务器获取最新的 HTML 页面,而无需重新加载 CSS 或 JS。
更好的是,为了节省不必要的处理能力的浪费,有没有办法从缓存中仅删除用户所在的特定页面?例如,加载 google.com 后,将删除 google.com 的缓存 HTML 页面(但不包括 CSS、JS 等),以便下次加载 google.com 时,获取最新版本。
谢谢!
我有一个应用程序,它显示启动页面并在 WebView 中加载 URL 时删除该启动页面。以下是我们用来移除启动页面的相关代码:
browser.setWebViewClient(new BrowserClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
// Work around for WebView onPageFinished called twice
if (flag == true) {
browser.setVisibility(View.VISIBLE);
splashImage.setVisibility(View.INVISIBLE);
pageLoader.setVisibility(View.INVISIBLE);
} else {
flag = true;
}
}
});
Run Code Online (Sandbox Code Playgroud)
这段代码有效......除了它很慢。在网页加载很久之后,启动页面需要很长时间才能删除。
是否有任何关于如何可靠地检测 WebView 何时加载页面的提示?过去几天我一直在研究这个,我似乎无法想出任何可靠的东西。
我看到的最有希望的是以下内容,但将此代码放在 Android 控制台中会引发错误:
@Override
public void invalidate() {
super.invalidate();
if (getContentHeight() > 0) {
// WebView has displayed some content and is scrollable.
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:有很多答案提出 onPageFinished,甚至有人将其标记为重复,并带有指向使用 onPageFinished 的解决方案的链接。伙计们,我们已经在使用 onPageFinished …
这里的 JavaScript 菜鸟...
我正在尝试遍历一个数组并将这些值相加。这就是我所拥有的:
var totalXyz;
var arrayLength = data.length;
for (var i = 0; i < arrayLength; i++) {
totalXyz += parseInt(data[i]["xyz"]);
}
alert(totalXyz);
Run Code Online (Sandbox Code Playgroud)
该警报返回 NaN 而不是总数。我究竟做错了什么?我已经检查过数据数组是否包含我想要添加的数字。现在只需要添加它们。
谢谢!