在NPObject上调用错误方法

Google Visualization API - error calling method on NPObject

本文关键字:错误 方法 调用 NPObject      更新时间:2023-09-26

我一直在使用可视化API,即动态图表,我发现http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html上的示例在本地主机上并不真正工作。也就是说,单击事件时抛出Error calling method on NPObject(前面示例中的AB点)。我想这是服务器端的安全问题(谷歌的flash基地)。

没有API密钥,身份验证或任何类似的要求-据我所知。我错过了什么?

感谢

更新:同样的例子在jsFiddle: http://jsfiddle.net/gT5GB/Localhost似乎不是问题,它的非谷歌域我猜。

由于jsFiddle代码托管在一个域中,所以文档最底部的注释不应该适用:

由于Flash安全设置,这(以及所有基于flash的)可视化)可能不起作用从文件访问时正确在浏览器中的位置(例如:文件:///c:/高手写/并且/myviz.html)而不是从web服务器URL(例如,http://www.myhost.com/myviz.html)。

我今天遇到了同样的问题,已经解决了。我是不是使用localhost在任何地方,我是托管在一个适当的域,我也收到NPObject错误时,单击图例。我也只是直接从http://code.google.com/apis/chart/interactive/docs/gallery/annotatedtimeline.html

使用的例子

原因是Google的示例使用https://www.google.com/jsapi(注意HTTPS),而我的站点使用纯HTTP。我对Flash不太熟悉,但我怀疑它对安全/非安全有类似的规则,就像它对跨域请求一样。

改变Google的例子使用http://www.google.com/jsapi解决了pr

是的,这是与Flash中的安全性相关的限制。Flash - HTTP请求不能在本地主机上工作

所以你最好的办法是把它托管在某个地方(它可以是同一台机器上的服务器)。