为什么PHP无法进入本地存储?

时间:2012-03-28 10:55:10

标签: php javascript html5 local-storage

为什么在php中你可以像这样打开一个脚本标签并执行以下操作:

<?php
  print("<script>");
  print("alert('hey');");
  print("</script>");
?>

但你不能这样做:

<?php 
  print("<script>");
  print("document.getElementById('fName').value = localStorage.getItem('FirstName');");
  print("</script>"); 
?>

我只是无法理解有什么区别,如果你能在php内部使用javascript工作,为什么不能点击localstorage?

3 个答案:

答案 0 :(得分:3)

不依赖于Javascript的内容。 PHP没有&#34;过滤&#34;您的输出和浏览器无法识别它是PHP脚本的输出。

如果您不以这种方式输出脚本并将其静态写入文档,脚本是否有效?请注意,如果您忘记分号,脚本不会自动添加换行符并可能会生成无效的Javascript代码。

您可以粘贴浏览器错误控制台的输出吗?

答案 1 :(得分:0)

你在浏览这个浏览器的是什么?例如,在IE8之前,甚至不支持IIRC,localStorage。我们将需要有关客户端方面的更多信息,当涉及到它时,客户端Javascript问题。

正如ymmd所说,你使用PHP并不重要;事实上,对于这个问题而言,这是一个不必要的复杂问题。

答案 2 :(得分:0)

您无法在PHP中运行浏览器javascript。你正在做的是写一些文本,发送到浏览器,它将文本解释为javascript,并运行它。

你可以做的是编写文本javascript,在客户端上运行回调到服务器的回复(使用ajax或其他),但你需要编写所有的通信。