Tag: 跨浏览器

为什么我的jQuery checkbox.change事件只在IE中的leavefocus上触发,但是它们会在FF中发生?

$(“.feature”).change(function(){ getProductSelections(); }); ARRRGHH!

Jquery Ajax在Internet Explorer中不起作用

当我在Internet Explorer 9上使用jQuery ajax时,我在响应主体处获取数据但是它没有传递给成功函数。 我怎样才能使它工作? 例: … $.ajax({ async : false, type: ‘PUT’, contentType: ‘application/json’, url: updateUrl, data: JSON.stringify(model), dataType: ‘json’, success: function(data) { console.log(“Here!”);//it comes here console.log(data);//it logs undefine at ie, firefox and etc is logging data r = resultResponse(data); }, error: function(data) { try { r = error($.parseJSON(data.responseText)); } catch (err) { //Handle […]

jQuery .eq(x)返回IE中与FF / Chrome中不同的元素

我使用.eq()方法选择已知元素的特定子元素。 IE和Chrome / FF中的元素索引似乎不同,因为.eq(2)根据浏览器返回不同的值。 (我正在寻找的元素在FF / Chrome中显示为.eq(2),但在IE中显示为.eq(3)) 例如, alert($(this).parent().children().eq(2).text()); 根据浏览器显示不同的结果。 这是有问题的标记: Fake Initiative A1 Initiative B Not Real2 (我删除了属性,内联css等 – 如果没有这些属性就会发生同样的事情)。 有更好的方法吗?

Uncaught SyntaxError:无法在’Window’上执行’postMessage’:调用’postMessage’时无效的目标原点’my_page’

我有以下脚本 父页面(pair_pixel_filter.php): window.addEventListener(“message”, function(e) { $(‘#log’).append(“Received message: ” + (e.data)); }, false); $(‘.photo-upload-btn’).click(function(event) { event.preventDefault(); window.open($(this).attr(“href”), “popupWindow”, “width=600,height=600,scrollbars=yes”); }); 儿童页面 $.ajax({ type: ‘post’, url: url, data: { base64data: dataURL }, success: function(data) { window.opener.postMessage(data, “pair_pixel_filter.php”); window.close(); } }); 基本上打开一个Popup,然后弹出一些ajax并将结果返回给父级。 但是从Child我得到了这个错误。 未捕获的SyntaxError:无法在’Window’上执行’postMessage’:调用’postMessage’时无效的目标原点’pair_pixel_filter.php’

如何在跨域中获取iframe contentWindow高度

我想根据内容自动调整我的iframe高度,但在同一个域中,它与contentWindow.height正常工作,但在跨域的情况下,其权限被拒绝访问iframe dom。

jquery masonry在初始页面加载时崩溃,单击“主页”菜单按钮后工作正常

我的jquery砌体设置在初始页面加载时奇怪地工作。 它似乎将第一行中的图像放在第一行中,第二行与第一行重叠,第三行相同。 页面加载后,您可以单击主页按钮或徽标并重新加载页面,它工作正常。 我在functions.php中有这个代码,用于将masonry和jquery脚本放入: if (!is_admin()) { wp_enqueue_script(‘jquery’); wp_register_script(‘jquery_min’, get_template_directory_uri(). ‘/js/jquery.min.js’, array(‘jquery’), ‘1.6.1’ ); wp_enqueue_script(‘jquery_min’); wp_enqueue_script(‘jquery’); wp_register_script(‘jquery_masonry’, get_template_directory_uri(). ‘/js/jquery.masonry.min.js’, array(‘jquery’), ‘2.1.06’ ); wp_enqueue_script(‘jquery_masonry’); } 这个脚本在head.php中: $(function(){ $(‘#content’).masonry({ // options… itemSelector : ‘.product’, columnWidth : 310, isAnimated: true, animationOptions: { duration: 700, easing: ‘linear’, queue: false } }); }); 这是该网站的链接。 任何想法为什么这在初始页面加载时奇怪地加载? 我很擅长编写任何东西,所以请善待。

使用JavaScript和Require.JS选择jQuery 1.9或2.0

jQuery 2. 0日益成熟: http : //blog.jquery.com/2013/03/01/jquery-2-0-beta-2-released/ jQuery 2.0打破了与旧版浏览器的兼容性,因此必须知道何时继续使用jQuery 1.9。 建议的方法是使用IE的条件注释: <!– 当前的Web开发最佳实践表明我们应该避免浏览器嗅探或用户代理字符串解析,但这不是条件注释的那种吗? jQuery 2.0是否只会破坏与旧版Internet Explorer的兼容性? 或者是否有其他浏览器在2.0中更糟糕? 如果这不仅影响Internet Explorer(这是条件评论唯一有效的地方),那么我们应该采用什么策略来选择最好的jQuery? 在JavaScript环境中是否存在全局可访问的值/对象/函数/等,其存在可用于表示与jQuery 2.0的兼容性(例如,function检测)? 主要问题 我的项目目前使用Require.JS来模块化我的代码。 我的代码目前只在遇到需要它的第一部分时才加载jQuery。 使用Require.JS加载正确版本的jQuery的最佳方法是什么? 我正在考虑: 在加载Require.JS之前使用IE条件注释,然后手动“定义”jQuery 在设置Require.JS路径的代码中使用JSfunction检测(在任何需要jQuery之前)根据需要将路径设置为1.9或2.0(我的首选方法) 总是使用1.9,无论什么(最安全,最无聊的方法)

如果一个设置id属性值为几个html标签,相同的字符串会发生什么?

我最近看到一个html页面,我认为几个html标签的id是相同的,然后我意识到id是唯一的,但它提出了一个问题,如果页面实际上使用了几个标签会发生什么 因为我听说过每个html标签的id属性(如果有的话)必须是唯一的, 现在我想知道如果不是这样的话会发生什么? 它可能导致哪些错误? 不同的浏览器对此问题有不同的反应吗? 使用重复ID的javascript和jquery代码是在两个标签上运行还是什么?

JSON和AJAX与jQuery有什么区别?

我听说JSON序列化了所有数据,这阻止了我在跨浏览器支持等方面遇到客户端问题。 我一直在使用AJAX和jQuery,看起来很容易,但我不确定这些差异, 我读过我也可以用它来获取数据: $.ajax({ url: url, dataType: ‘json’, data: data, success: callback }); 任何人都可以解释使用JSON制作jQuery AJAX请求和制作没有json类型的jQuery AJAX请求之间的区别吗? 所有浏览器的答案都可以吗?

Jquery .submit()事件发射

HTML jQuery的 $(‘div#photoCropContainer’).click(function() { $(‘input#file’).trigger(‘click’); }); 和 $(document).on(‘change’,’input#file’, function() { alert(‘ready to upload’); $(‘form#joinPhotoUploadForm’).submit(); }); 当有人点击Div @ photoCropContainer时,它会点击文件输入,显示弹出窗口并发送文件。 这适用于FF和Chrome。 然而,在IE9上,我总是得到弹出窗口,但没有其他回复…… 任何人都可以给我任何建议吗? 谢谢