2014-04-04 55 views
-2

我想在javascript中添加一個php回顯(用於翻譯的原因)。但似乎我不能從JavaScript回聲?PHP內的回聲可能嗎?

這是最初的代碼:

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

你必須以json格式進行編碼:echo json_encode(「test」); – Holt

+2

是的,這是可能的。確保你使用.php文件而不是.js文件,或者你設置你的web服務器把.js文件發送到php(可能是一個壞主意)。儘管處理翻譯可能有更好的方法 –

+1

您可以從PHP生成JavaScript。不要看PHP,並說JavaScript不起作用。看看運行PHP時得到的JavaScript,然後找出爲什麼它不起作用,然後弄清楚如何解決它,然後找出讓PHP輸出固定的JS。 – Quentin

回答

0

我添加更多的相關詳細的回答:您可以生成從PHP JavaScript,因此明顯可以產生這樣的PHP中的字符串(在一個PHP文件):

<script type="text/javascript"> 
var mytext = <?php echo json_encode("Hello World!"); ?> 
</script> 

然後你就可以訪問mytext變量在你的JavaScript代碼中。

但是你不能在你的JS文件中調用PHP,因爲PHP在服務器端運行,而在客戶端使用Javascript(在你的情況下)。

無論如何,我認爲翻譯像這樣的東西是一個壞主意......要麼直接使用PHP在HTML代碼中進行翻譯,要麼導入包含當前語言翻譯的「數據庫」文件。有大量的JavaScript翻譯庫(i18n)。

+0

謝謝。這麼晚纔回復很抱歉。這一個幫助最大。 – Sackling

0

這是肯定不可能

當JS開始執行時,PHP很早就已經死了。

人們可以很容易產生任何JS了PHP的,雖然,正是它們產生同樣的方式HTML和其他任何輸出

0

如果要添加使用JavaScript文檔,你需要使用

document.write("Hello World!"); 

這將輸出到DOM。正如其他答案建議PHP在您的Javascript運行時已經完成,所以你不能做你想做的。

我想我的答案就是你想要達到的目標。

document.write有點像JS中的回聲等價物。

如果你在這個晚期階段需要你的數據庫中的位,你需要AJAX它們並將它們添加到文檔中。