2011-10-06 115 views
0

之前我已經做過幾次了,但是我想知道是否可能與我的班級有衝突。Javascript不允許我使用PHP設置變量?

我使用PHP來生成一個長的一個bitly網址。這是存儲在一個名爲

$網址

我可以附和$ url變量並知道它工作正常變量。但是,當我嘗試將其放入以下JavaScript函數(稱爲onclick事件)時,整個操作失敗。

function fbs_click() { 
    var uf="<?php echo $url; ?>"; 
    var tf=document.title; 
    window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(uf)+'&t='+encodeURIComponent(tf),'sharer','toolbar=0,status=0,width=626,height=436'); 
    return false; 
} 

如果我用一個實際的URL替換,我沒有問題。即使我用「blah」這個詞來代替它,它也可以工作。關於php echo的一些東西正在拋出一個循環。

PHP的回波呈現此是源:

VAR UF = 「」 http://bit.ly/rfEcJl\n 「」;

+1

給我們一個呈現的JS函數的示例,以及來自瀏覽器的JavaScript錯誤控制檯的任何輸出。你可能只需要'echo json_encode($ url)'而不是。 – ceejayoz

+1

您是否查看了源代碼以查看回顯? –

+0

@Interstellar_Coder - 好點,我剛剛注意到它回顯:「var uf =」「http:\/\/bit.ly \/rfEcJl \ n」「;」 – JM4

回答

0

這可能是該網址的格式不正確。所以,只要嘗試在「uf」變量中控制/提醒thr url,並在winodw.open(...)語句中使用url,然後檢查。

1

我的猜測是,這樣做反而會解決您的問題:

var uf = <?php echo json_encode($url); ?>; 
+0

不幸的是,這並沒有解決它。我會嘗試創建一個jsfiddle – JM4

1

是URL是在文件系統中的一些文件,並錯誤地它給你「\」,而不是「/」?在這種情況下,JS可能會崩潰......我猜。