我想在javascript中添加一个php echo(出于翻译原因)。但似乎我无法回应javascript?
这是初始代码:
else if(o.thumbplacement=='bottom'){$outer.append('<div style="padding-top:4px; text-align:center; font-family:Arial, Helvetica, sans-serif; font-size:11px; color: #999; "><img src="images/magnify.png" alt="enlarge" /> Click and move to zoom</div><ul class="thumbs">'+cont+'</ul>');}
这是我编辑它的方式:
else if(o.thumbplacement=='bottom'){$outer.append('<div style="padding-top:4px; text-align:center; font-family:Arial, Helvetica, sans-serif; font-size:11px; color: #999; "><img src="images/magnify.png" alt="enlarge" /> <?php echo TEXT_CLICK_TO_ENLARGE; ?></div><ul class="thumbs">'+cont+'</ul>');}
我也试过
<?php echo "test"; ?>
也不返回任何内容。
有办法做到这一点吗?
答案 0 :(得分:0)
肯定不可能。
当JS开始执行时,PHP很久以前就已经死了。
可以轻松生成 PHP中的任何JS,这与生成HTML和任何其他输出的方式完全相同
答案 1 :(得分:0)
如果您想使用Javascript添加到您的文档,则需要使用
document.write("Hello World!");
这将输出到DOM。正如其他答案所示,PHP已经在您的Javascript运行时完成,因此您无法做您想做的事。
我认为我的答案就是你想要实现的目标。
document.write有点像JS中的echo等价物。
如果您需要在这个后期阶段从数据库中获取位,您需要对它们进行AJAX并将它们添加到文档中。
答案 2 :(得分:0)
我添加了一个更详细的答案:你可以从PHP生成Javascript,所以显然你可以在PHP中生成一个像这样的字符串(在PHP文件中):
<script type="text/javascript">
var mytext = <?php echo json_encode("Hello World!"); ?>
</script>
然后,您可以访问javascript代码中的mytext
变量。
但是你不能在你的JS文件中调用PHP,因为PHP在服务器端运行,而Javascript(在你的情况下)在客户端运行。
无论如何,我认为翻译这样的东西是个坏主意......要么直接使用PHP在HTML代码中进行翻译,要么导入包含当前语言翻译的“数据库”文件。有大量的javascript翻译库(i18n)。