你有一个.js.php文件,你想用一些动态php控制的变量填充一个自执行函数。
可以吗?应该避免吗?
如果您有类似的东西..
click
其中'd'依赖于某些服务器端魔术,以便客户端获得为其实例定制的js。所以上面的函数会变成..
(function(funkyFresh){
funkyFresh.someVar = 'this value is important for somebody';
})();
我猜你可以为不同的人提供不同的功能/文件,但这可以以任何形式工作吗?我在本地运行了一个快速测试,看起来(function(funkyFresh){
funkyFresh.someVar = <?php echo 'this value works better for you' ?>;
})();
语句被作为函数内部的语法错误拾取,所以我不得不将它放在函数之外并命名一些全局函数以供函数使用。有关将这些值放入命名空间的想法吗?
答案 0 :(得分:0)
我个人完全反对用php生成js。我宁愿做一个ajax调用并返回json。如果我不得不避免使用ajax,那就是这样的:
PHP:
<script>
window.server_vars = <?php json_encode(["funkyFresh" => ["some_var" => "This value works better for you"]]); ?>;
</script>
<script type="text/javascript" src="/path/to/javascript.js"></script>
使用Javascript:
(function(funkyFresh){
funkyFresh.someVar = window.server_vars.funkyFresh.some_var;
})();