Tag: javascript

即使正确设置了document.domain,跨子域ajax请求也被拒绝

在我的应用程序中,我在一个子域(dev.u413.com)上有一个网站,我使用jQuery向另一个子域(api.u413.com)上的JSON api发出ajax请求。 当我检查Chrome开发工具和Firefox Firebug中的请求时, Access-Control-Allowed-Origin会阻止我的请求。 我将document.domain设置为当前域的后缀: document.domain = ‘u413.com’; 。 这是我的要求: $.ajax({ dataType: ‘json’, data: { parseAsHtml: true, cli: ‘help’ }, url: ‘http://api.u413.com/’, success: function (response) { alert(response.Command); } }); 如果我将ajax请求修改为在同一个域上,则请求成功。 $.ajax({ dataType: ‘json’, crossDomain: false, data: { parseAsHtml: true, cli: ‘help’ }, url: ‘http://dev.u413.com/’, success: function (response) { alert(response.Command); } }); 为什么会这样? 浏览器不应该抱怨跨域问题,因为我根据相同原始策略的指南将document.domain设置为两个子域的公共后缀。 我目前正在使用jsonp的应用程序,但我觉得正确的ajax请求应该按照我上面链接的相同原始策略工作。 […]

使用svg.js加载SVG文件

我有一个带有SVG元素的HTML5页面。 我想加载一个SVG文件,从中提取一些元素并用脚本逐个处理它们。 我使用jQuery成功加载SVG文件,使用.load() ,在DOM中插入了SVG树。 但是我想尝试使用svg.js来操作元素,但是在文档中我找不到使用现有SVG元素初始化库的方法,在这里我将得到对象。 想法是访问加载的SVG元素(或直接用svg.js库加载它),将单个对象复制到另一个元素并将它们移动到我需要的位置。 这该怎么做?

当响应非常大时,JQuery ajax会冻结ui

当我使用JQuery ajax函数并且响应非常大~1mb时,ui会在调用成功函数之前被冻结。 我已经通过JSON.parse函数和解析大量数据来体验这一点。 我相信这个函数用于返回将内容格式化为JSON的请求。 这是我正在使用的代码。 $.ajax({ url: “/sessions/” + this.get(“session_id”) + “/get_sample_data”, data: params, dataType: ‘json’, type: “GET”, success: function (response) { success(response); } }); 反正是否有覆盖响应的代码,所以我可以将解析分成几部分,并希望最小化对ui的阻塞? 还是有另一种方法来解决这个问题。 我正在使用铬和铬金丝雀,我得到了相同的结果。 提前致谢

如何禁用响应式设计的JavaScript

我一直在使用超大型jQuery来浏览我网站的幻灯片背景。 我正在使网站响应并使用css媒体查询。 我希望能够在480px以下时禁用该脚本。 这是实际滑块背景的脚本 $(document).ready(function(){ jQuery(function($){ $.supersized({ // Functionality slideshow : 1, // Slideshow on/off autoplay : 0, // Slideshow starts playing automatically start_slide : 1, // Start slide (0 is random) stop_loop : 0, // Pauses slideshow on last slide random : 0, // Randomize slide order (Ignores start slide) slide_interval : 3000, // […]

Javascript从事件处理程序获取对父对象/类的引用

我有一个类(或者包含函数的对象;我听说没有Javascript类这样的东西)叫做Foo,它有一个附加到click事件的事件处理程序。 调用事件处理程序时,我想修改我的类Foo的属性。 通常,我会使用this关键字,但在事件处理程序中, this引用设置为对html元素的引用。 这是我的代码: function Foo() { this.num=0; $(‘element’).click(this.eventHandler);// jQuery to attach an onclick event to my element. this.eventHandler=function() { this.num++;// This doesn’t work. // Normally, “this” would refer to my instance of Foo, // but as an event handler, “this” refers to the html element. } } 所以我的问题是:如何将我的Foo实例引用到我的事件处理程序中,以便我可以修改其属性(如num )?

在youtube iframe嵌入游戏中触发一个事件

我需要在youtube iframe上播放一个事件。 因此,当按下播放按钮时,我需要调用一个函数来隐藏span.module-strip 我试过这个,但也许我走错了路? $(“#home-latest-vid”)[0].onplay = function() { alert(‘hi’); }; HTML: Latest Product Video

当一个元素在视图中而不是滚动过去时,如何使jQuery waypoints插件触发?

请看这个: http://jsfiddle.net/5Zs6F/2/ 正如你只能看到滚过第一个红色矩形时它变成蓝色,我希望它在进入视图时变成蓝色。 这就是为什么第二个永远不会变成蓝色,因为它下面没有足够的内容允许你滚过它。 HTML: Scoll this window pane CSS: .box { width: 250px; height: 100px; border: 2px solid red; } jQuery的: $.getScript(‘http://imakewebthings.com/jquery-waypoints/waypoints.min.js’, function() { $(‘.box’).waypoint(function() { $(this).css({ borderColor: ‘blue’ }); }); }); 如果看到有问题的元素并且没有滚动过去,如何让它成功?

jQuery偏移顶部无法正常工作

我正在尝试创建一个脚本通过鼠标在元素中绘制一些东西,而我正在使用Raphaeljs来做到这一点。 为了正确绘制,我需要找到input‍‍元素的top和left 。 我正在使用var offset = $(“#input”).offset(); left 。 但top值不正确。 它比真正的top距离低10px 。 我认为10px可能会在不同的分辨率下改变,然后我通常不能添加10px然后我想知道如何解决问题! 我在这里上传了我的考试。

使用jQuery,如何更改元素html值? (DIV)

使用ajax请求我想改变我的div的内容。 202 所以我想将内容更改为其他数字。 $(‘d1’).InnerText??? 另外,说我想增加数字,我怎么能这样做? 我必须转换为int吗?

使脚本等到iframe加载后再运行

我正在处理的网站在iframe上有一个Live Chat插件。 如果没有可用的代理,我正在尝试更改图像。 我的代码在控制台上运行,但网站上没有任何内容。 var LiveChatStatus = $(“iframe”).contents().find(“.agentStatus”).html(); if (LiveChatStatus ==”Offline”){ $(‘#liveChat’).html(”); } 我试过这个: $(‘iframe’).ready(function(){ var LiveChatStatus = $(“iframe”).contents().find(“.agentStatus”).html(); if (LiveChatStatus ==”Offline”){ $(‘#liveChat’).html(”); } }); 还有这个: $(document).ready(function(){ var LiveChatStatus = $(“iframe”).contents().find(“.agentStatus”).html(); if (LiveChatStatus ==”Offline”){ $(‘#liveChat’).html(”); } }); 但都没有奏效