window.open()调用突发‘Unrecognised Expression’错误求助
解决
window.open()触发jQuery "Unrecognised Expression"错误的方案 兄弟,我之前踩过一模一样的坑!这个错误看着像是window.open()的锅,但根本和这个函数没关系——问题出在你触发这个函数的代码里,不小心把那个URL当成了jQuery选择器来解析,才导致jQuery抛出这个语法错误。
最常见的两种出错场景:
事件绑定多写了括号
比如你可能写了这样的代码:// ❌ 错误:spotify()会立即执行,后续逻辑可能误处理返回值 $('#my-button').click(spotify());正确的写法应该是传递函数引用,别加括号:
// ✅ 正确:只传函数名,点击时才会执行 $('#my-button').click(spotify);不小心把URL传给了jQuery选择器
比如你在函数里多写了一行多余的代码,把URL用$()包裹了:function spotify() { const url = "https://www.google.com"; $(url); // ❌ 这行完全没必要!jQuery会把URL当成选择器解析 window.open(url); }删掉那行多余的
$(url)就解决了。
另外也检查下你的HTML触发方式:如果用按钮或者链接触发,别在onclick里写错语法,比如别漏了函数调用的括号:
<!-- ✅ 正确写法 --> <button onclick="spotify()">打开页面</button>
快速验证方法:
直接在浏览器控制台里输入spotify(),如果能正常弹出新窗口,那百分百是触发逻辑的问题,和window.open()本身完全无关。
内容的提问来源于stack exchange,提问作者joshcawthorne
相关产品推荐
相关产品推荐

