消失這是我的代碼:反斜槓從文件名
<script>
document.getElementById(div').innerHTML = '<a href="javascript:void(0);" onclick="openPhpFile (\'asdasD\\Asdeqw.txt\');">efff</a>';
</script>
當openPhpFile
功能運行時,我提醒文件名和\字符都不見了,即使它們是翻倍。 addslashes()
沒有幫助;它會是什麼?
消失這是我的代碼:反斜槓從文件名
<script>
document.getElementById(div').innerHTML = '<a href="javascript:void(0);" onclick="openPhpFile (\'asdasD\\Asdeqw.txt\');">efff</a>';
</script>
當openPhpFile
功能運行時,我提醒文件名和\字符都不見了,即使它們是翻倍。 addslashes()
沒有幫助;它會是什麼?
你應該這樣做,而不是:
<script type='text/javascript'>
(function() { // Closures are your friend
// Declare variables
var theDiv, theLink;
// Create the link and assign attributes
theLink = document.createElement('a');
theLink.innerHTML = 'efff';
theLink.href = '#';
theLink.onclick = function() {
openPhpFile('asdasD\\Asdeqw.txt');
};
// Get a reference to the container, empty the container and add the link
theDiv = document.getElementById('div');
theDiv.innerHTML = '';
theDiv.appendChild(theLink);
})();
</script>
請記住,如果你是echo
的荷蘭國際集團從PHP雙引號裏面,你會真正需要反斜槓。這是因爲PHP也會使用雙反斜槓序列,並且只會輸出一個。所以,如果你想PHP回聲2反斜槓,你需要把4英寸
哇,這是一個很大的代碼。 :O –
是的,但它是正確的做法。 – DaveRandom
「href」應該是「#」之類的東西;沒有理由成爲「javascript:」僞造的URL。 – Pointy
如果你打開JS控制檯,您將看到它被翻在地asdasD\Asdeqw.txt
因此,嘗試添加另一斜槓。
'<a href="javascript:void(0);" onclick="openPhpFile (\'asdasD\\\Asdeqw.txt\');">efff</a>'
你有沒有嘗試過把它們4而不是2或3爲每個反斜槓?
只是想知道爲什麼你需要在這裏的反斜槓?不要所有操作系統的支持(甚至更喜歡)正斜槓?也許我一直在Linux世界太久。
我只是使用正斜槓,至少對於你的雙反斜槓(顯然不是用於引號)。我有興趣知道你在做什麼,這意味着一個正斜槓不起作用。
嘗試:
var div = document.getElementById("div");
div.innerHTML = '<a>efff</a>';
div.firstChild.onclick = function() {
openPhpFile('asdasD\\\\Asdeqw.txt');
};
嗯,那好吧,如果文件名是在一個變種,我應該使用addslashes(addslashes()),所以兩次? –
+1,我喜歡這樣。 a''沒有'href'會不會導致頁面重新加載? – DaveRandom
@DaveRandom我還沒有測試過,至少在Google Chrome中沒有JohnSmith,你需要添加php代碼,這樣我們才能知道需要做什麼。 – Esailija
凌晨必要看看功能openPhpFile和PHP文件來解決問題 – noob