我遇到了一个具有挑战性的问题。我正在使用 Blogger JSON API 获取 JSON 数据并显示在页面上。通常它非常简单:
<script src="http://blog-name.blogspot.com/feeds/posts/default?alt=json-in-script&callback=renderPost&max-results=4"></script>
您将此脚本嵌入到请求数据的页面上,并将数据对象传递给 JavaScript 回调(在本例中,回调称为 renderPost
)。
问题是我正在使用 Closure 编译器来编译 JS 的其余部分。因此,renderPost
被混淆了。
你会如何用 JavaScript 来模仿这种行为?您可以使用 AJAX 请求来获取 JSON 对象吗?
部分问题是我真的不知道 Blogger 在这里做什么,因此对此进行解释也会很有帮助。
最佳答案
在 Closure compiler ,您可以按如下方式导出变量:
window['varname'] = varname;
例如:
// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// ==/ClosureCompiler==
window['renderPost'] = renderPost;
function renderPost(name) {
return prompt('', '');
}
编译为:
window.renderPost=a;function a(){return prompt("","")}a();
而不是(当省略 window['renderPost'] = renderPost
时):
prompt("","");
关于javascript - 在编译的 javascript 中触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9437444/