我有一个只有IE8问题的网站:
代码是:
var w = window.open(urlstring, wname, wfeatures, 'false');
Run Code Online (Sandbox Code Playgroud)
错误是:
消息:参数无效.
行:419字符:5
代码:0
URI:http://HOSTNAME/js_context.js
我已经确认了代码的行号("行"和"URI"是正确的),我理解在IE8的更高版本中,这被认为是准确的.
我通过转储警报检查了调用中的所有传入参数,它们看起来都是有效的.
这个问题不会发生在FF(可能是3)上.
更新:
问题似乎是在执行"var w"时使用window.open()的结果.当我将该行分成两个语句时,它在IE8中有效.
UPDATE2:
基于:
http://javascript.crockford.com/code.html
当要立即调用函数时,整个调用表达式应该包含在parens中,以便很明显生成的值是函数的结果而不是函数本身.
这不完全是这里发生的事情,但我发现在IE8的兼容模式下应用该原则解决了这个问题.
var w = (window.open(urlstring, wname, wfeatures, false));
Run Code Online (Sandbox Code Playgroud) 我根据其他StackOverflow问题/答案设置了一些Jquery.这个脚本的目的是它使整个div成为基于该div内的任何href标记的链接.
这工作正常,但我需要将其设置为_blank以在新选项卡中打开.我已经尝试了以下没有运气.
$(document).ready(function() {
$(".product-item").click(function() {
$(this).target = "_blank";
window.location = $(this).find("a").attr("href");
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
编辑
感谢您的帮助,但这些答案都没有实际效果.如果任何人都可以粘贴实际工作的完整代码,而不是没有测试的小片段,如果它工作.谢谢.
编辑2
感谢kristinalim,提供完整的工作解决方案.
我正在使用jQuery和FoxyCart拖放购物车,拖放工作,但我不知道如何将项目放入购物车后自动打开链接(在拖动元素内).
基本上我有一个列表<ul>,<li class="drag">里面有我<a href="..."><img src=".." alt="thumbnail"/></a>和<a href="..." class="addtocart">Add to cart</a>.添加到购物车的链接是使用css隐藏的,但我需要它,这样当我在购物车中放置一个项目时,它将打开这个隐藏的链接(因为链接打开一个模态框并在真正的购物车中添加项目由FoxyCart提供).对我来说问题是我不知道jquery那么好,我不知道如何从其余部分过滤链接然后打开它.