是否可以使用没有 eval 和 new Function 语句的Here API?
(因为这种语句在某些环境中可以被阻止)
答案 0 :(得分:0)
我相信这个问题是针对HERE JavaScript API的。例如,从 mapsjs-core.js 行154开始,否则该行已被最小化和混淆:
function(){eval("var self = arguments[0];"+b)}
我不会争论eval('...')
和new Function('...')
是否是邪恶/不良行为,因为这个问题的含义是在某些环境下它们的使用仍然受到限制。
因为这是JavaScript API的当前实现,所以替代方法是直接将HERE REST API用于所需的任何服务。您将需要在没有JavaScript SDK便利的情况下处理Ajax请求,但是对于某些库和框架,无论如何都必须具有这种级别的控制。我们最近发布了一些博客文章,其中用React,Angular和Vue进行了演示,这可能是有用的示例。