我现在正在开发一个 facebook 应用程序,这一切都靠我的孤独。我正在尝试对 onclick 事件进行 javascript 调用。在这个 onclick 事件中,我根据正在链接的项目填充一些参数(来自 php 中的服务器端)。我正在插入一些 JSON 和其他一些带有时髦字符的东西。
Facebook 要求锚点的所有属性字段都是严格的字母数字。除了 0-9a-Z_ 之外,没有引号、感叹号和其他任何内容。因此,当用户单击该链接时,它会对我想要传递给我的 javascript 函数(例如 JSON)的参数产生影响。
所以我想,为什么我不使用我的模板系统来自动生成 javascript?对于我要生成的每个链接,我都会生成一个唯一的 javascript 函数(DoItX,其中 X 是此页面的唯一整数)。然后,我不会尝试通过 onclick 将参数传递给我的 javascript 函数,而是将我的参数作为 DoX 的局部变量插入。在链接“X”上,我只是说 onclick="DoX()"。
所以我做了这个并且中提琴它有效!(它也帮助我避免引用我之前遇到的地狱)。但我觉得恶心。
我的问题是,我疯了吗?有没有更简单的方法来做到这一点?我理解有人能够以某种方式更改我的模板化局部变量的含义,即:
var local = {TEMPLATED FIELD};
用分号插入一些东西,将任意javascript插入客户端。(而且我正在尝试编写代码来对此持偏执态度)。
什么时候可以(是否可以)从服务器生成 javascript?我应该注意什么/最佳实践?