也有可能是浏览器本身对于http和https的证书验证拦截,并非bug。
以下为https在大部分浏览器标识。
部分浏览器会因以下原因阻止页面的重定向。
使用 Javascript 可以解决谷歌浏览器禁止跳转问题,可以通过调用 window.open() 方法或使用 document.location.href 来打开新的页面。需要注意的是,这些方法仅在用户已授权后才能正常工作,因此需要确保用户点击"允许"按钮,才能成功跳转到新页面。OnClientClick="window.DestinationUrl()returnfalse"
或者直接在按钮的后台代码里面写Response.Redirect("百度url")
这个原因是响应时间的问题,因为你的服务器按钮控件是先响应OnClientClick,然后再自动PostBack,然后再回复页面给浏览器。因此,当你需要进行location跳转的时候,这个时候已进入到了后台,后台解析了当前页面给浏览器,结果又回来了。
加入return
false的目的就是告诉OnClientClick,页面阻止你向后台提交。
至于为什么用Html控件成功,原因是html控件是不会自动PostBack的,而Button会自动PostBack。你这是一个纯的前端动作,没必要用到后台