Javascript 谷歌地图API严格遵守模式

Javascript 谷歌地图API严格遵守模式,javascript,google-maps-api-3,ecmascript-5,Javascript,Google Maps Api 3,Ecmascript 5,作为一个研究项目的一部分,我目前正在调查使用GoogleCaja项目的安全EcmaScript实现对第三方脚本进行沙箱处理的情况(https://code.google.com/p/es-lab/wiki/SecureEcmaScript, ). 我设法在这样一个沙箱中执行Google Maps应用程序,即Google Maps API v3(https://maps.googleapis.com/maps/api/js)随后加载的脚本在受控环境中执行。然而,为了实现这一点,我必须在Google

作为一个研究项目的一部分,我目前正在调查使用GoogleCaja项目的安全EcmaScript实现对第三方脚本进行沙箱处理的情况(https://code.google.com/p/es-lab/wiki/SecureEcmaScript, ). 我设法在这样一个沙箱中执行Google Maps应用程序,即Google Maps API v3(https://maps.googleapis.com/maps/api/js)随后加载的脚本在受控环境中执行。然而,为了实现这一点,我必须在GoogleMaps应用程序加载的第一个脚本中执行两个修改(在撰写本文时,这是)。如果不进行修改,应用程序将无法运行,因为代码不符合ECMAScript 5严格模式。具体来说,以下代码片段出现在文件中的某个位置:

R.cf=function(){return this}().navigator&&-1!=ha.userAgent[Mc]()[tb]("msie");
在严格模式下,
function(){returnthis}
返回
undefined
,导致“navigator”的属性访问抛出错误。在非严格模式下,函数将返回全局“窗口”对象。我又发现了一个这样的情况在严格模式下导致错误的实例

起初,我发现谷歌地图应用程序没有严格的模式兼容令人惊讶。据我所知,严格模式的使用只有好处。然而,我认为原始代码可能是严格的模式兼容的,但是由小型化编译器完成的转换消除了遵从性。从安全的角度来看,能够以受控的方式执行脚本是非常有用的。例如,当外部脚本被破坏并且其功能被更改时,这将防止安全违规。因此,我认为能够在这样一个沙箱中执行GoogleMaps应用程序将非常有用。但是,由于安全EcmaScript的Google Caja实现依赖于严格模式施加的限制来保证其功能,因此它需要一个严格符合模式的Google Maps应用程序

所以我的问题是:谷歌地图应用程序的严格模式兼容版本会很快推出吗?或者,当前的谷歌地图应用程序将被一个兼容的应用程序所取代

致以亲切的问候


Yoran

似乎您应该将其添加到地图API问题跟踪程序中


。。。请注意,谷歌很少评论升级功能。但是通过添加到问题跟踪程序。你1)允许其他开发者对该建议进行“投票”——增加其对谷歌开发者的“重要性”;2)允许你在谷歌采取任何行动时获得通知

好的,谢谢你的回复。早些时候,我在邮件列表(GoogleMapsJSAPI)上发布了我的问题-v3@googlegroups.com)但它被否认,因为这是一个技术问题,因此更适合张贴在StackOverflow上。我已采纳您的建议,并在问题追踪器上发布了功能请求。希望我能从谷歌那里得到回复。我在问题追踪器中找不到它。你有链接吗?