【问题标题】:Embedding javascript within php code在 php 代码中嵌入 javascript
【发布时间】:2014-10-07 12:06:30
【问题描述】:

我在 php 代码中嵌入了一些 javascript。在检查一些 php 会话变量值之后,这是必要的,根据结果,我在 php 中使用一些 JS 来决定是否显示某些元素。这是一个例子:

<?php

if ($_SESSION['myVar']==2)
      { echo '<script type="text/javascript" >

          document.getElementById("element1").style.visibility = "hidden";
         document.getElementById("element2").style.visibility = "hidden";

            </script>';
?>

代码非常适合我。 我的问题是: JS 是在网络服务器上执行的(因为它嵌入在 php 代码中),在页面发送到客户端浏览器之前初始化页面(我认为是这样),还是 php 部分在服务器上运行, JS稍后在客户端运行?

我知道在正常情况下 JS 在客户端浏览器上运行,但在这种情况下是可疑的,

我是一名初级程序员,如有任何帮助,我们将不胜感激,在此先感谢。

【问题讨论】:

  • 永远不要将服务器端和客户端脚本结合起来。我这样做的经历最糟糕。如果您真的想在客户端验证中使用 PHP,请使用 AJAX 调用并从 PHP 获取 JSON 以在 javascript 中使用。

标签: javascript php client-side server-side embedding


【解决方案1】:

Javascript总是在客户端的浏览器中执行。 php代码只是将javascript代码作为文本块插入,浏览器将其作为代码读取。

【讨论】:

    【解决方案2】:

    JavaScript 无论如何都是在客户端执行的,但是您的 PHP 代码只是插入了代码以使其可供浏览器执行...

    【讨论】:

      【解决方案3】:

      Php 将 JavaScript 作为响应发送回客户端,然后在客户端运行 JavaScript。 请阅读此答案 123,您可能会有更好的解释>>PHP & Embedded JavaScript Behavior。谢谢

      【讨论】:

        【解决方案4】:
        <?php
        
        if ($_SESSION['myVar']==2)
              { 
        ?>
        <script type="text/javascript" >
              document.getElementById("element1").style.visibility = "hidden";
                 document.getElementById("element2").style.visibility = "hidden";
        </script>
        <?php } ?>
        

        【讨论】:

        • 这不是回答@the4thDimension 的问题。
        猜你喜欢
        • 2014-05-02
        • 2011-03-22
        • 2014-12-16
        • 1970-01-01
        • 2014-01-15
        • 1970-01-01
        • 2011-11-28
        • 1970-01-01
        • 2013-09-08
        相关资源
        最近更新 更多