小编use*_*569的帖子

61
推荐指数
5
解决办法
3万
查看次数

来自Socket.io的s3_pkt.c中的HTTPS错误"数据长度太长"

我们试图让Socket.io flashsockets通过HTTPS/WSS在Internet Explorer 9中运行.flashsockets通过HTTP工作,但HTTPS给我们带来了麻烦.我们使用的是socket.io版本0.8.7和socket.io-client版本0.9.1-1.

我们在端口443上通过SSL运行我们的websocket服务器.我们在正确的位置指定了我们的WebsocketMainInsecure.swf文件的位置(这些是跨域ws请求),我们正在swfobject嵌入中加载文件通过HTTPS.

我们在我们的安全组中为我们的EC2实例打开了端口843,并且通过HTTP成功呈现了交叉源策略文件.它似乎不通过HTTPS呈现(Chrome引发SSL连接错误).

我们尝试了两个版本的WebsocketMainInsecure.swf文件.第一个是Socket.io提供的文件,它是由WebsocketMainInsecure.as构建的,不包括该行

Security.allowInsecureDomain("*");
Run Code Online (Sandbox Code Playgroud)

这会在行SCRIPT16389: Unspecified error.处引发错误WebSocket.__flash.setCallerUrl(location.href).

我们认为这是因为SWF文件不允许HTTPS请求,因此我们将WebSocketMainInsecure.swf文件替换为此repo上的文件:https://github.com/gimite/web-socket-js,因为它包括

Security.allowInsecureDomain("*");
Run Code Online (Sandbox Code Playgroud)

动作脚本代码中的行.当我们使用它时,我们看到flashsocket连接在无限循环中保持断开连接和重新连接.我们在Transport原型的onSocketError函数中将错误跟踪到socket.io库中的transport.js文件.它抛出错误:

[Error: 139662382290912:error:1408F092:SSL routines:SSL3_GET_RECORD:data length too long:s3_pkt.c:503:]
Run Code Online (Sandbox Code Playgroud)

我们甚至尝试将socket.io和socket.io-client更新到版本0.9.6,我们仍然遇到Access is denied错误.

这个错误很难调试,现在我们不知道如何让flashsockets工作.我们想知道它是否可能与使用旧版本的socket.io有关,或者可能是我们的策略文件服务器不接受HTTPS请求,或者甚至可能是来自Web的WebSocketMainInsecure.swf文件的方式 - socket-js github repo是相对于socket.io-client所期望的而构建的.

ssl https ssl-certificate node.js socket.io

39
推荐指数
1
解决办法
1871
查看次数

phantomjs:找不到命令

我遵循了这些说明(除了将可执行文件复制到我的PATH,因为我似乎无法找到它并且似乎没有必要).然后我在我的公共javascripts目录中创建了一个名为image_render.js的文件

console.log('Hello, world!');
phantom.exit();
Run Code Online (Sandbox Code Playgroud)

在里面,保存它,并phantomjs render_image.js在我的终端中运行.但是,我的终端无法识别命令:

-bash: phantomjs: command not found
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

javascript debugging error-handling ruby-on-rails phantomjs

35
推荐指数
2
解决办法
4万
查看次数

在DOM元素的样式对象发生更改后,您是否可以使用javascript钩子触发器?

元素有一个javascript style对象,其中包含css样式的不同名称和值.我想在每次更改此对象而不使用轮询时触发函数.有没有办法以跨浏览器兼容的方式执行此操作,并且可以与第三方代码可靠地工作(因为假设您提供了一个插件脚本)?将javascript事件绑定为DOMAttrModifiedDOMSubtreeModified不足以因为它们无法在Chrome中运行.

javascript css jquery javascript-events

29
推荐指数
1
解决办法
1万
查看次数

如何使用JQuery更改游标的样式?

我想改变光标的样式,就像它通过链接一样.我该怎么做呢?

javascript mouse jquery cursor

25
推荐指数
3
解决办法
9万
查看次数

如何在jQuery中调用rails方法

我有这个JQuery代码:

$("p.exclamation, div#notification_box").live("mouseover", function() {

    });
Run Code Online (Sandbox Code Playgroud)

我想从jQuery代码中调用这个rails方法作为回调:

def render_read
  self.user_notifications.where(:read => false).each do |n|
    n.read = true
    n.save
  end
end
Run Code Online (Sandbox Code Playgroud)

此方法在我的用户模型中.有没有办法做到这一点?

ruby jquery ruby-on-rails callback ruby-on-rails-3

20
推荐指数
1
解决办法
2万
查看次数

检测iframe是否为跨域的万无一失的方法

我正在尝试确定是否有任何iframe是跨域的.根据此问题中接受的答案:检测iframe何时是跨域的,然后将删除,然后将代码访问contentDocumentiframe放入try / catch块中.我在Chrome中尝试使用跨域iframe:

try { 
  document.getElementsByTagName('iframe')[0].contentDocument;
} catch(err){
  console.log("called");
}
Run Code Online (Sandbox Code Playgroud)

它仍然会抛出跨域错误,并且不会捕获错误.

我还试图检查父页面url的协议+主机+端口是否在srciframe中:

function thirdPartyIframe(iframe){
  var url = document.location.protocol + "//" + document.location.hostname + (document.location.port === "" ? "" : ":" + document.location.port);
  var regexp = new RegExp(url.replace(/\//g, "\\/").replace(/\./g, "\\."));
  if (iframe.src === '' || regexp.test(iframe.src)){
    return false;
  } else {
    return true;
  }
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不适用于Facebook主页上的第一个iframe,src等于(很长):

"http://www.facebook.com/ai.php?aed=AQLlH2cfdnsnLrDUVyqrQPlWpayw9N09Z_iNuhulevbeEfVa4mcVRcT8cjAZOjQb8y1QXab5Ae3aSEJx49U_Qv35rtSp1VC9cY0_CrpOjMDk40hS_Xm57A996YtRVCcWSuRZ_jZERQ_iA_E4621NAbKHT9dsB7uElkRtTvl5K-zPI0jeH-BEnlZIOXbeEdbRC6qCwoToaltolpe-Ot2KWgkfb_vBZYpzUc3jQoEHzLG6tauO9l_hkXpYpHxnt-KYFKIFZ1PgmrHgb0UcGjeKHl7yBR1AbW2n5XgdgaAhFvBjs5GZlKy566nvl8eLRA60orwkwtWYeN8-gKoAmOLm7-6minsWn8lk1h2Qn3p07HCTSnYHfv1aJ6mF5jmuzP0YYe7Ym9ZbmK-tvax4uPAQJ2OdULilKbEh8M-2V9pVY3AC228OPlrRullZuuOg8DI2A8WeMF-fbbOdOFFVCe5Gj1CaZu3LYXiqdG7mUgY6AEpk9ZzGT4fC2K8DInQo1AypCvzG64C_bEWfODeXe0aGbkWwsUUmO7E5HFg0tvZkK5IAR_xxxQ2rlf5jbcEDo_2gdIDdHe1HT75-SJLUsSA0M8EU01oNNPuWwEC2BW6inepc9QPuqeg42tcEbKLU-rIUnXDBLvgutft8azWPPQ6_LafGjCAmC9uTalagoWLLDMpQOThvPg7YeVd7qg_c9Mzn2GAfuswcxDSxyRIZo9MaOhA6mhfXeE1tmjyBBsMxnx08tO21Jsfgch59fmMxpeJzdsNMPK3FAojfglvCQ2Zrt_6ataexUB4xlM7_PhKrfBPtxb5fe2TE9-nlWruNEpoCrzI05yv4Go3CYEWHob06K_9iICfNVTFkSYGTiJnMXCy_fdgfyzUIn5QJIPRo4-Wnyg444zKAO_nyFW59LqbIanHVfFY6ybiA6KeC3meREWzTPSsrU5d_NbYHlJWb8uPNDR04jaH5e2qiYj3Y8qgLQA5m"
Run Code Online (Sandbox Code Playgroud)

我的功能将其归类为非第三方iframe,但Chrome访问时仍然会引发跨域错误contentDocument.

我正在寻找一种万无一失的跨浏览器方式来做到这一点.

html javascript security iframe cross-domain

18
推荐指数
2
解决办法
1万
查看次数

在redis中存储node.js setTimeout的返回值

setTimeout在Node.js中使用它似乎与客户端的行为不同setTimeout,因为它返回一个对象而不是一个数字.我想将它存储在redis中,但由于redis只存储字符串,我需要将对象转换为字符串.但是,使用JSON.stringify抛出循环引用错误.如果我希望能够从redis中获取并调用它,如何将此对象存储在redis中clearTimeout

javascript settimeout redis node.js

13
推荐指数
1
解决办法
2414
查看次数

before_filter with devise

我正在使用Devise的内置功能before_filter :authenticate_user!.如果用户未通过过滤器(尝试在注销时执行操作),我想在我的应用程序助手中调用我自己的自定义方法.我该怎么做?

ruby-on-rails before-filter devise ruby-on-rails-3

11
推荐指数
2
解决办法
2万
查看次数

使用Paperclip无法调整默认图像的大小

我希望能够调整我使用Paperclip的默认配置文件图像.这是我模型中的代码:

has_attached_file :photo,
  :styles => {
    :tiny => "25x25#",
    :thumbnail => "100x100#",
    :small  => "150x150>",
    :medium => "300x300>" },
    :default_url => "/images/default.png"
Run Code Online (Sandbox Code Playgroud)

但是,默认图像不会像用户提交的图像那样调整大小.我怎样才能做到这一点?

ruby ruby-on-rails paperclip ruby-on-rails-3

10
推荐指数
1
解决办法
3941
查看次数