从websocket中获取javascript
Fire javascript retrieved from a websocket
我现在正在玩WebSockets,我想有以下设计模式。
连接到服务器上的websocket,服务器发送JavaScript给浏览器,通知它如何与用户交互。我找到了JQuery方法getScript,它在后台加载脚本,并在加载时执行它。我想做一个类似的事情,但是对从Websocket收到的消息。
基本上,我想做的是。
// Create a socket
var socket = new WebSocket('myURL')
// Message received on the socket
socket.onmessage = function(event) {
executeJS(event.data);
}
我需要什么代码来代替executeJS来让这个javascript着火?这可能吗?
我想这个问题与javascript没有直接关系,但是我如何将一段文本作为javascript执行。
既然您使用的是jQuery,那么您可以使用jQuery.globalEval
。或者,您可以使用eval
,但globalEval
在其运行的上下文方面有一些优势。
您要查找的函数是eval()
。
请不要忘记它听起来像evil
是有原因的;)
eval函数对局部作用域中的代码求值,对于那些应该在全局作用域中求值的代码,使用间接求值,调用间接求值的最好方法是:
(1, eval)(yourCode);
也有一些动态执行代码的其他选择:
也是一个很好的选择,使用动态脚本元素:
var script = document.createElement('script');
// detect browser or feature first, only one of these should be used
// for IE
script.text = yourCode;
// for other browser
script.appendChild(document.createTextNode(yourCode));
var head = document.head || document.getElementsByTagName('head')[0];
head.insertBefore(head, head.lastChild);
虽然通常不赞成使用eval()函数,但根据返回代码的复杂性,它可以满足您的需要。
相关文章:
- 使用Javascript获取所选选项ID
- 可以't使用JavaScript获取width属性
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- Javascript获取上一个元素的内容
- 使用Javascript获取Twitter访问令牌
- 在不同的文件中使用Javascript获取表单数据
- 如何用javascript获取谷歌地图的经度和纬度
- 使用javascript获取表的td值
- 如何使用JavaScript获取当前URL
- 如何在谷歌网站中使用javascript获取当前页面的网址
- Javascript获取所有锚链接的索引
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 如何使用javascript获取下一个/转发url
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 使用JavaScript获取Gridview单元格值
- 使用javascript获取跨度的文本
- 如何使用Javascript获取POST请求填充的元素的值
- JavaScript-获取数据属性的值返回未定义的值
- Javascript:获取“;FORM”;它是在.html到外部.js文件中创建的