使用HTML5画布或Javascript的pushlet

使用HTML5画布或Javascript的pushlet,javascript,html,Javascript,Html,有人有Pushlet的经验吗 我已经做了好几天了。我可以让它在常规javascript上工作,但当我添加HTML画布并使用javascript基于“推送”数据绘制某些内容时,它就不起作用了 在我的简单示例中: document.getElementById('sometag').innerHTML = event.get("x"); document.getElementById('sometag').innerHTML = event.get("x"); ... document.getEle

有人有Pushlet的经验吗

我已经做了好几天了。我可以让它在常规javascript上工作,但当我添加HTML画布并使用javascript基于“推送”数据绘制某些内容时,它就不起作用了

在我的简单示例中:

document.getElementById('sometag').innerHTML = event.get("x");
document.getElementById('sometag').innerHTML = event.get("x");
...
document.getElementById('sometag').innerHTML = event.get("x");
如果我保留所有这些常规标签,则没有问题,但当我添加:

document.getElementById('canvas').getContext('2d').fillRect(....);
它不起作用。错误表示无法接收XML数据


有什么帮助吗?提前感谢。

您可能需要评估从服务器推送的HTML脚本。大概是这样的:

function extractScripts(html) {
// based on PrototypeJs
    var ScriptFragment = "<script[^>]*>([\\S\\s]*?)<\/script>";
    var matchAll = new RegExp(ScriptFragment, "img");
    var matchOne = new RegExp(ScriptFragment, "im");
    return (html.match(matchAll) || []).map(function(scriptTag) {
      return (scriptTag.match(matchOne) || ['', ''])[1];
    });
}
function evalScripts(html) {
    return extractScripts(html).map(function(script) { return eval(script) });
}
函数提取脚本(html){
//基于PrototypeJs
var ScriptFragment=“]*>([\\S\\S]*?)”;
var matchAll=newregexp(ScriptFragment,“img”);
var matchOne=newregexp(ScriptFragment,“im”);
return(html.match(matchAll)| |[]).map(函数(scriptTag){
return(scriptTag.match(matchOne)| |['',])[1];
});
}
函数evalscript(html){
return-extractscript(html).map(函数(脚本){return-eval(脚本)});
}