首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的javascript按钮不会像他们应该的那样重定向?

可能有几个原因导致你的JavaScript按钮不会像预期的那样重定向:

  1. 代码错误:请检查你的JavaScript代码是否存在语法错误或逻辑错误。确保你的按钮绑定了正确的事件处理程序,并且重定向的代码被正确执行。
  2. 事件冒泡:如果你的按钮位于一个包含其他元素的父元素中,并且这些元素也有事件处理程序,可能会发生事件冒泡。这可能会导致按钮的默认行为被阻止,从而阻止重定向。你可以使用event.stopPropagation()方法来阻止事件冒泡。
  3. 默认行为被阻止:如果你的按钮的事件处理程序中使用了event.preventDefault()方法,它会阻止按钮的默认行为,包括重定向。确保你没有在代码中使用了这个方法,或者根据需要进行适当的修改。
  4. 异步操作:如果你的按钮的事件处理程序包含了异步操作,比如AJAX请求或定时器,重定向代码可能在异步操作完成之前执行,从而导致重定向无效。你可以使用回调函数、Promise或async/await来确保重定向在异步操作完成后执行。
  5. HTML表单提交:如果你的按钮位于一个HTML表单中,并且你希望按钮点击后提交表单并重定向到另一个页面,你需要确保表单的action属性指向正确的URL,并且按钮的type属性设置为"submit"。

总结起来,要解决JavaScript按钮不会重定向的问题,你需要仔细检查代码是否正确,避免事件冒泡和阻止默认行为,处理异步操作的顺序,并确保HTML表单的设置正确。如果问题仍然存在,可能需要进一步调试和排查。

相关搜索:JPopupMenu不会像它应该的那样消失ggplot不会像它应该的那样对值进行排序我应该使用什么像通配符那样的MySQL来返回某人的名字,而不是他们的头衔/前缀名字?为什么我的JavaScript设置器不能像预期的那样改变对象属性?为什么我的时间没有像预期的那样回来?Javascript -为什么我的错误答案计数器不会像正确答案计数器那样递增?为什么我的linkedlist反转不能像预期的那样工作?为什么我的元素没有像预期的那样被清空?为什么我的依赖属性绑定没有像预期的那样工作?为什么我的col在bootstrap中不能像预期的那样工作?为什么C没有像javascript中的setTimeout那样的非阻塞睡眠函数为什么JavaScript在Rails6中不能像预期的那样工作?为什么我的字符串没有被双等号验证,并且字符没有像应该的那样附加到末尾如果我在pygame的主窗口上blit我的图像,它将不会像预期的那样显示Jest测试不能像它应该的那样解析promise。我的语法或逻辑有问题吗?我的代码是完整的,至少我相信它是...为什么它不能像预期的那样运行?Android:为什么我的land\layout不能像设计面板中显示的那样工作?为什么我的getter/setter方法不能像预期的那样工作--怀疑这与'this‘有关mysqli查询,LIKE和AND在同一个查询中不会像它应该的那样工作Nodejs不会像一本书的作者说的那样执行我的js文件
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

无需购买广告,25种方法教你驱动更多的电商流量(上)

值得庆幸的是,你不需要巨大的广告预算来增加你的电商流量。 我将向你介绍25种方法,让更多的访客在你的电商网站购物而不用花费一分钱在广告上。 听起来不可能? 那你就错了。...即使是像CTA按钮颜色这样简单的变化也会大有不同。 看看HubSpot这个例子: ? 通过执行一些简单的A/B测试,他们发现红色按钮转化比绿色按钮高21%。...你还应该考虑下述示例中像Square一样个性化优化你的CTA。 ? 它们不仅包括买方的利益,还提供了CTA之后的讲解视频。这些针对目标受众的额外的个性化元素可能会使转化率高达42%。 12....不要成为那样的公司。看看这些统计数据。 ? 你是否正在做列表中的事情?...他们使用智能广告重定向最有可能成为其所在地区特定马自达经销商的购物者,并将详细目录信息与这些购买者进行匹配。 重定向是有效的,因为它将已知的购物者行为与特定的营销信息相匹配。

1.1K40
  • 一劳永逸地搞懂 JavaScript中‘this’

    这不仅仅是为了弄清楚一个关键字;它是为了打开通往高级编码技巧和模式的大门。 为什么我们应该关心“this”? 普遍性:就像你无法逃避的流行曲调, this 在JavaScript中随处可见。...从小脚本到庞大的Web应用程序,它都会显现出来。 提高水平:解读 this 意味着你正在走向像经验丰富的专家那样的编码。这是更接近健壮且无错误的脚本的一步。...就像按钮说,“是的,我是被点击的那个!” 情节转折:箭头函数 现在,如果你想在事件监听器中使用箭头函数,要小心。记住我们之前讨论过箭头函数从它们的周围继承 this 吗?...这不会按预期工作。 }); 在这个设置中,this 不指向我们的按钮。它可能指向窗口或另一个外部范围,导致出现意外的结果。...这不会按预期工作。 总结:“this”之旅的终点 我们已经走过了一段漫长的旅程,探索了JavaScript中 this 关键字的各个方面。

    14310

    深入解析 Node.js 的 console.log

    因为这是一种很常见的做法,我们甚至会在代码中使用像 no-console 这样的 linter 规则来确保不会留下意外的日志信息。但是如果我们真的想要去记录某些内容呢?...每个进程都有三个可用的默认 stream。那些是 stdin,stdout 和 stderr。 stdin 流用来在处理进程的输入。例如按下按钮或重定向输出。 stdout 流用于程序的输出。...错误输出被重定向到不同的文件 应该在什么时候记录日志? 现在我们已经了解了日志记录的底层技术,接下来让我们谈谈应该在什么情况下记录日志内容。...可以通过查看 transports 文档了解为什么 pino 中的错误不会写入 stderr。 让我们用工具 pino-pretty 来查看更易阅读的日志版本。...单色CLI输出 像 chalk这样的工具已经为你处理了这种行为,但是在开发 CLI 时,你应该始终了解 CLI 可能在 CI 模式下运行或重定向输出的情况。它还可以帮助你进一步获得 CLI 的体验。

    2K50

    A Guide to Node.js Logging

    每一个进程都有三个可以使用的默认 streams,它们是 stdin ,stdout 和 stderr。 stdin 可以处理进程的输入,例如按下按钮或重定向输出。...在此之前我们还需要解决一下日志信息的可读性,pino 遵循了一个理念,就是为了性能,你应该通过管道将输出的处理移动到单独的进程中,你可以去查看一下文档,了解其中 pino 的错误为什么不会写入 stderr...问题是,你的库可能希望记录用于调试的内容,但实际上不应该让使用者的应用程序变得混乱。相反,如果需要调试某些东西,使用者应该能够启动日志。你的库默认情况下不会处理这些,并将输入输出的操作留给使用者。...我的理念是将逻辑日志和你的 CLI 输出分开。对于任何逻辑日志来说,你应该使用类似 debug 这样的包。这样你或其他人就可以重写逻辑,而不受 CLI 的约束。...像 chalk 这样的库已经帮你处理了这些行为,但在开发 CLI 的过程中还是要注意,在 CI 模式下运行或输出被重定向的问题。

    1.7K20

    现代浏览器探秘(part2):导航

    浏览器进程具有很多线程,比如于UI线程用于绘制浏览器的按钮和输入框,网络线程负责处理网络堆栈以从互联网接收数据,存储线程控制对文件的访问等。...图2:UI线程与网络线程进行通信以导航到mysite.com 此时,网络线程可以接收像HTTP 301那样的服务器重定向头。在这种情况下,网络线程会通知UI线程服务器正在请求重定向。...如果导航重定向跨站点,则可能不会使用此备用进程,在这种情况下可能需要不同的进程。 第4步:提交导航 现在数据和渲染器进程已准备就绪,IPC将把导航从浏览器进程发送到渲染器进程以进行提交。...应该仅在需要时添加此事件处理,例如,如果需要警告用户他们可能会丢失在页面上输入的数据时。 ?...了解浏览器通过网络获取数据的步骤,可以更容易地理解为什么开发导航预加载等API。 在下一篇文章中,我们将深入探讨浏览器如何处理HTML/ CSS/JavaScript来呈现页面。

    2K20

    编写模块化CSS——BEM

    我必须 立即知道一个组件是否使用了 JavaScript,所以如果我改变了它的 CSS,我不会意外地破坏任何组件。 在我的探索中,我发现 BEM 和 命名空间 符合我寻找的标准。...所以,如果你看到一个像那样的名字,比如 form__row ,你将立即知道 .form 块中有一个 row 元素。 ? ? BEM 元素有两个优点 : 你可以让 CSS 的优先级保持相对扁平。...(顺便说一句,如果你还没有克服 __element 语法的丑陋,等到你使用第三方插件看到像蛇一样的 class 名的时候, 你就懂了) 继续,有一件事你需要了解。永远不应该链式命名 BEM 元素。...他们是: 只把子子元素链接到有意义的块 创建新的块来保存元素 链接孙元素到块 虽然 BEM 建议你将 BEM 元素写作 .block__element ,但它不会规定你的 HTML 应如何。...其他两个方面尚未考虑: 我必须 立即知道组件是否使用 JavaScript 。 我必须 立即知道编辑一个 class 是否安全,会不会干扰其他 CSS。

    2.1K70

    如何在一周之内获得GitHub stars 3500+ —为什么对于程序员这是如此的重要

    只是最近才开始意识到有关star的问题,在这我要告诉你的是为了保持star的不断增长,哪些事应该去做还有哪些事最好别做。...无论你是GitHub上的新手还是老鸟,我相信我的文章会在怎样激增GitHub star的数量上给你一些灵感,以及他们应该如何用于发布和改善你的项目上。...就像GitHub说的那样,你应该积极的去寻求那些贡献者。 我们通常会把自己想法中的一些问题记录在任务清单中。而GitHub上的issues不只是局限于字面的含义。...我们可以在自己的网页上添加一些按钮,让浏览者重定向到GitHub。同时也寻求一个反馈和star,或者只是使用GitHub的按钮也行。...这样或许能帮助你变得更强,而且也能了解到那些审美完全相悖的人不同的喜好。 坦然接受消极的反馈,尽量去理解为什么在刚开始就收到这个。对于这些人来说他们绝不会使用你任何类型的产品。

    1.2K150

    从0开始构建一个Oauth2Server服务 移动和本机应用程序

    Authorization 创建一个“登录”按钮,该按钮将在应用程序中打开一个安全的网络浏览器(ASWebAuthenticationSession或SFSafariViewController在 iOS...Demo 在此示例中,我们将介绍一个简单的 iPhone 应用程序,该应用程序获得访问虚构 API 的授权。 发起授权请求 要开始授权过程,应用程序应该有一个“登录”按钮。...代码质询是代码验证器的 SHA256 散列的 Base64-URL 编码字符串。该散列值在授权请求中发送,因此原始随机字符串永远不会暴露给应用程序外部的任何内容。...这意味着客户端必须将客户端 ID 作为 POST 主体参数包含在内,而不是像在包含客户端机密时那样使用 HTTP 基本身份验证。...Attack者可以轻松创建一个看起来像授权网页的网页并将其嵌入到他们自己的恶意应用程序中,从而使他们能够窃取用户名和密码。

    20830

    为什么说Flutter可能不是下一件大事?

    一些人甚至详细解释了 Flutter 为什么会替代 React Native 成为开发人员首选的跨平台技术。 但它并没有那个能力。 我见识过 Flutter 的很多缺陷,我认为它遇到了几个关键问题。...问题是许多公司已经有了 JavaScript 开发人员。而且 JavaScript 人士常常会告诉管理层:“是的,我们可以节约一半时间。” 正如我指出的那样,其实他们做不到。...它可以编译为原生代码,但并不会使用原生按钮、字段、切换、滚动条、表视图或其他界面和导航元素。 苹果和谷歌几乎在每个发行版上都会调整和更新这些界面元素及其行为。...说到 iOS…… 二等公民 我应该强调一下,我是从 iOS 的角度开始体验 Flutter 的,而 Flutter 的确让 iOS 感觉像是二等公民。...客户不想要它 作为可能的解决方案,我们曾几次将 Flutter 推荐给客户,而客户一直反对这种想法——尤其是当他们想利用自己内部的 JavaScript 开发人员时,就像我前面提到的那样。

    2.2K20

    视觉设计除了好看,更要走心

    视觉设计是着力于视觉表现上来提高产品的用户体验。在概念上来说,这是非常简单的一件事,但是为什么我们不愿意在视觉设计上花那么多精力呢?然后谁应该在这个过程中参与进来?此外,我们应该从什么时候开始?...此外,视觉设计是设计师建立品牌形象最重要的渠道。一个好的信息架构当然是重要的,但它却不能像精心考虑、非常聪明的视觉设计那样传达“星球大战”或者“Huggies”要传达的东西。...视觉设计师使用的工具和技巧并不是很直观的,让那些非设计人员来做效率也不会高,我们可能会讨厌(就像在喝蛋黄酱和葡萄汁混在一起的饮料那样的讨厌)人们说设计师仅仅只是让东西做的更加好看,但是在视觉设计领域,我们并不会像平时那样显得无足轻重...如果有的话甚至应该第一天就去问客户要这些东西,现在去要总不会比干了几个月再去要这些东西更难。...记住你的行为要像一个专业的设计师。如果你选择黄绿色作为按钮,那么黄绿色一定是这个按钮的最佳选择。

    1.2K90

    如何提高网站曝光量(SEO优化) 增加搜索引擎收录

    为此,搜索引擎使用爬虫——一种在站点之间移动并像浏览器一样运行的程序。 如果书籍或文档丢失或损坏,爬虫将无法读取。爬虫尝试获取每个 URL 以确定文档的状态。...这确保只有可公开访问的文档才能进入索引。 如果爬虫发现重定向状态代码(如 301 或 302),它们会跟随重定向到新 URL 并在那里继续。...一旦他们得到成功的响应,这意味着他们找到了用户可以访问的文档,他们会检查是否允许对其进行爬网,然后下载内容。...抓取工具不会主动点击链接或按钮,而是将 URL 发送到队列以便稍后抓取它们。访问新 URL 时,没有 cookie、service worker 或本地存储(如 IndexedDB)可用。...使用 Lighthouse 审核您的网站并检查 SEO 结果,以了解搜索引擎如何呈现您的内容。 如何使用 Lighthouse 衡量搜索引擎优化 为什么这很重要?

    2.5K20

    JSP 防止网页刷新重复提交数据

    重定向可以解决页面刷新带来的数据的重复提交的问题,我们自然可以利用重定向的方式来解决这个问题。...不过我注意到,如果使用这种方法,虽然用户点击一下后退按钮时他不会看到以前输入数据的页面,但只要点击两次就可以,这可不是我们希望的效果,因为很多时候,固执的用户总是能够找到绕过预防措施的办法。     ...那么,在那个我们不想让用户返回的页面是否也可以加入JavaScript代码呢?在这个页面中加入的JavaScript代码可用来产生点击前进按钮的效果,这样也就抵消了用户点击后退按钮所产生的动作。...后来我又看到有人建议用location.replace从一个页面转到另一个页面。这种方法的原理是,用新页面的URL替换当前的历史纪录,这样浏览历史记录中就只有一个页面,后退按钮永远不会变为可用。...由于不存在能够完全禁用后退按钮的方法,所以最好的方案应该是:混合运用客户端脚本和服务器端脚本。

    11.6K20

    聊一聊前端面临的安全威胁与解决对策

    如果没有适当的措施,您的网络应用程序将容易受到大多数这些威胁的攻击。让我们深入探讨! 为什么前端安全很重要? 前端安全非常重要,通常是对抗网络威胁的第一道防线。...,以确保您的CSP策略不会阻止必要的资源或在您的网站上引起问题。...例如,一个按钮可以被替换为一个恶意按钮,可以将用户重定向到虚假页面或危险网站。点击劫持欺骗用户执行他们从未打算执行的操作。...这些被修改的按钮或链接可以将用户重定向到恶意页面。要防止CSS注入,您需要确保适当的输入验证。确保适当的输入验证对于验证所有可能被针对并用于CSS注入点的用户生成的输入非常重要。...同时,如果您想获取更多前端技术的知识,欢迎关注我,您的支持将是我分享最大的动力。我会持续输出更多内容,敬请期待。

    55930

    曾是最流行的语言之一,Visual Basic 28年兴衰记

    我要坦白一件事,在我成为一名受人尊敬的开发者,使用像 C# 和 Java(以及我们称之为 JavaScript 的热门平台)这样的现代大括号编程语言之前,我曾经是广受欢迎,又有些不合时宜的 Visual...所有图形化的魅力让人印象深刻,但 VB 成功的真正秘诀在于它的实用性。开发人员根本就没有其他工具可以像 VB 那样绘制出一个完整的用户界面并快速编写代码。...他们再也不能像普通人那样从 1 开始了。现在他们必须从 0 开始,就像正式的程序员一样。 还有一个大的方面:开发人员是众所周知的抱怨者,而 VB 开发人员尤甚。...如果你需要教给小孩更简单的东西,市场上充斥着像 Scratch 等图形化编程工具。像 C#、C、JavaScript 这样的大括号编程语言也有另一种吸引力,因为它们都有自己的语法。...是的,它并不是构建下一个 Google Maps 的适合工具,但它可以重新唤起 Visual Basic 的吸引力,让商业开发人员、学生和爱好者创建简单的在线应用程序,而不必像 JavaScript 那样笨拙

    2.3K20

    URL 跳转漏洞的利用技巧

    一年多以前,我发布了这个教程,当时我称之为“全互联网的问题”,因为Facebook发行其APP时,没有严格要求开发人员正确设置他们的白名单。...在他们的域环境中配有开放式的重定向,有时你可以通过绕过这些黑名单 来实现SSRF或RCE(视情况而言),但这取决于网站的框架和它们处理重定向的方式是什么。...通过 javascript:alert(0) 进行XSS攻击 这种方式不是每次都能奏效的,这取决于网站是如何重定向的。...若其实302跳转,则不会奏效;但如果它是通过JavaScript跳转的,那就能成功。 利用文件上传和移动设备的优势 这种方式我还未曾公开讲过,但还是计划给大家分享。...添加一个漂亮的“点击此处继续”按钮, 按钮链接指向你自己的网站,点击后,他们的登录口令将因为引用而泄露。 话虽如此,但是浏览器通常不会泄漏引用。

    4.7K21

    利用Googleplex.com的盲XSS访问谷歌内网

    输入的内容并不重要,只需键入随机数并单击“搜索”按钮即可。 然后,是选择与发票相关的组织。这决定了处理发票的国家/地区。同样,我们只需随便选择一个并单击“提交”就行。...现在,HTML文件已附加到表单,我们可以单击Submit Invoices按钮发送表单。 执行盲 XSS 几天后,我收到了一条通知,告知我googleplex.com域上已执行了盲XSS。...影响 在googleplex.com子域上执行自定义JavaScript代码,攻击者可以访问Google的发票以及其他一些敏感信息。...由于Google员工使用其公司帐户登录,因此应该可以代表他们访问其他内部网站。 更新:对于访问其他内部网站这里做个更正。...我收到了来自Google安全小组的更多信息: 访问单个googleplex.com应用不会让你访问到任何其他应用 googleplex.com应用程序,它们彼此独立 并且凭据和cookie无法被盗或用于其他网站

    1.6K40

    12条专业的JavaScript规则

    下面是我的一些建议: 1、JS应该放到 .js 文件中 “额,只有那么几行而已…”,是的,我的意思是所有的 JS 都应该放在 .js 文件中。为什么呢?因为这有助于可读性,节省带宽。...2、JS 应该是静态的 我看到过很多程序员喜欢动态的使用JavaScript。他们喜欢像使用服务器端语言如C#, Ruby, Java那样来动态的使用JavaScript。千万不要这么做。...你失去了代码着色、语法高亮显示和智能感知的支持。记住,JavaScript 应该属于一个 .js 文件(见规则 #1)。 然而,使用JSON引入动态行为。我把这称为JavaScript配置对象模式。...我把 JSON 看作是数据,而不是代码,所以我破例,为了支持静态的、单独的JavaScript文件。 StackOverflow 使用的这种模式,Google 也是。你可以看下他们的代码: ?...编写JavaScript的时候应该像服务器端开发者那样思考问题。把你的业务逻辑和数据访问分离出来。 这意味着AJAX调用都应该在一个地方。创建一个集中的客户端“数据访问层”。

    1K90

    Web 应用架构的下一个转变

    浏览器的历史堆栈中会有一个 POST 请求,点击后退按钮会再次触发这个 POST 请求(想知道为什么应用程序有时会显示:“不要点击后退按钮!!” 是的,就是这个原因。)。...特别是在 21 世纪初,我们不能保证用户使用的浏览器能够运行像 AJAX 这样花哨的新东西,或者他们在与应用程序交互之前能够在足够快的网络上下载我们的 JavaScript 。...PEMPA 问题: 阻止浏览器默认行为 - PESPA 的一个核心方面是它们的行为方式应该与浏览器在路由和表单方面的行为方式大致相同。这就是他们为我们提供 MPA 心智模型的方式。...并且渲染逻辑在网络两端的处理方式相同,因此也不会出现随意的 DOM 变更。...我特别注意到 slveltekit 和 SolidStart 在他们的实现中都采用了 PESPA 原则。

    1.2K10

    Web 应用架构的下一个转变

    浏览器的历史堆栈中会有一个 POST 请求,点击后退按钮会再次触发这个 POST 请求(想知道为什么应用程序有时会显示:“不要点击后退按钮!!” 是的,就是这个原因。)。...特别是在 21 世纪初,我们不能保证用户使用的浏览器能够运行像 AJAX 这样花哨的新东西,或者他们在与应用程序交互之前能够在足够快的网络上下载我们的 JavaScript 。...PEMPA 问题: 阻止浏览器默认行为 - PESPA 的一个核心方面是它们的行为方式应该与浏览器在路由和表单方面的行为方式大致相同。这就是他们为我们提供 MPA 心智模型的方式。...并且渲染逻辑在网络两端的处理方式相同,因此也不会出现随意的 DOM 变更。...我特别注意到 slveltekit 和 SolidStart 在他们的实现中都采用了 PESPA 原则。

    1.1K30
    领券