gpt4 book ai didi

javascript - 当 url 位于文本输入中时,URL 未重定向

转载 作者:行者123 更新时间:2023-12-03 00:56:10 25 4
gpt4 key购买 nike

当用户未上传文件时,我执行了错误消息。但是当我提交按钮时,它没有根据文本输入中的 url 进行重定向。它一直在请上传文件上循环。我不确定出了什么问题。应该是当用户没有上传文件时,会提示用户上传二维码图片,并且url中的url会被解码。 提交按钮将重定向位于文本输入中的网址。

最佳答案

现代浏览器会阻止 JavaScript 打开新窗口,甚至新选项卡,以防止 Web 开发人员在各处创建无休止的弹出窗口(想想 1990 年的 Mountain Dew 广告)。

实际上...Javascript 可以做这些事情,但前提是它在用户点击或其他一些用户交互之后立即发生。如果您延迟了操作的发生,那么浏览器会认为您正在执行弹出窗口并阻止它。您可以获得显示弹出窗口的权限,但用户从不同意,所以这是浪费时间。

所以你有几个选择:

立即重定向或打开新选项卡/窗口!如果用户与网页交互的直接结果,Javascript 可以打开新选项卡和窗口

function windowLocate(){
if (document.getElementById("uploadImage").files.length != 0) {
var url = document.getElementById("url").value;
window.open(url);
} else {
alert('Choose a file please');
}
}

显示确认对话框。如果您必须在重定向之前显示消息,则可以使用确认模式。

function windowLocate(){
if (document.getElementById("uploadImage").files.length != 0) {
var url = document.getElementById("url").value;
var confirmed = confirm("You will now be redirected. Click below to confirm.")
if (confirmed === true){
window.open(url);
}
} else {
alert('Choose a file please');
}
}

重定向当前页面!如果用户可以停留在同一页面上,您可以重定向当前所在的页面,没问题!

function windowLocate(){
if (document.getElementById("uploadImage").files.length != 0) {
var url = document.getElementById("url").value;
window.location.assign(url);
} else {
alert('Choose a file please');
}
}

关于javascript - 当 url 位于文本输入中时,URL 未重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52828545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com