消失这是我的代码:反斜杠从文件名
<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