Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行包含javascript中php代码的html块_Javascript_Php_Html - Fatal编程技术网

执行包含javascript中php代码的html块

执行包含javascript中php代码的html块,javascript,php,html,Javascript,Php,Html,我有一个.php文件,其中包含html、php和javascript javascript块用于确定浏览器,如果浏览器不是IE,javascript将执行包含php的html块 这是javascript代码 <script type="text/javascript"> var isIE = false || !!document.documentMode; if( !isIE ){ //it will execute html block

我有一个.php文件,其中包含html、php和javascript

javascript块用于确定浏览器,如果浏览器不是IE,javascript将执行包含php的html块

这是javascript代码

<script type="text/javascript">
     var isIE = false || !!document.documentMode;
     if( !isIE ){
           //it will execute html block below
     }
</script>

var isIE=false | |!!document.documentMode;
如果(!isIE){
//它将执行下面的html块
}
这是包含php代码的html

<div class=center>
    <div class="flip">
        <div class="flip-child">

            <div class="front">
                <img src="<?php ABSPATH; ?>/new/logo/logo.png" alt="front" />
            </div>

            <div class="back">
                <a href="<?php ABSPATH; ?>/new/menu.html"> <img src="<?php ABSPATH; ?>/new/logo/back.png" alt="back" /> </a>
            </div>

        </div>
    </div>
</div>

/新建/logo/logo.png“alt=”front“/>
这一切都在一个.php文件中。如果isIE变量为false,我想执行那个html块,怎么办?


<div class="center" id="htmlblock" style="display: none;">
    <div class="flip">
        <div class="flip-child">

            <div class="front">
                <img src="<?php echo ABSPATH; ?>/new/logo/logo.png" alt="front" />
            </div>

            <div class="back">
                <a href="<?php echo ABSPATH; ?>/new/menu.html"> <img src="<?php echo ABSPATH; ?>/new/logo/back.png" alt="back" /> </a>
            </div>

        </div>
    </div>
</div>

<script type="text/javascript">
     var isIE = false || !!document.documentMode;
     if( !isIE ){
           //it will execute html block below
           document.getElementById("htmlblock").style.display = "block";
     }
</script>
/新建/logo/logo.png“alt=”front“/> var isIE=false | |!!document.documentMode; 如果(!isIE){ //它将执行下面的html块 document.getElementById(“htmlblock”).style.display=“block”; }
此代码将使其在浏览器不是IE的情况下显示div,否则它将保持隐藏状态(使用
display:none;
style)

注意,我修改了div,使其id为
htmlblock
,并将所有
更改为

/新建/logo/logo.png“alt=”front“/>
var isIE=false | |!!document.documentMode;
如果(!isIE){
//它将执行下面的html块
document.getElementById(“htmlblock”).style.display=“block”;
}
此代码将使其在浏览器不是IE的情况下显示div,否则它将保持隐藏状态(使用
display:none;
style)

请注意,我修改了div,使其id为
htmlblock
,并将所有
更改为

,如中所述,您可以执行以下服务器端操作

<?php
if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') !== false)): ?>
<div class=center>
    <div class="flip">
        <div class="flip-child">

            <div class="front">
                <img src="<?php ABSPATH; ?>/new/logo/logo.png" alt="front" />
            </div>

            <div class="back">
                <a href="<?php ABSPATH; ?>/new/menu.html"> <img src="<?php ABSPATH; ?>/new/logo/back.png" alt="back" /> </a>
            </div>

        </div>
    </div>
</div>
<?php endif; ?>

/新建/logo/logo.png“alt=”front“/>
注意这依赖于可以欺骗的用户代理。

如中所建议,您可以在服务器端执行以下操作

<?php
if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') !== false)): ?>
<div class=center>
    <div class="flip">
        <div class="flip-child">

            <div class="front">
                <img src="<?php ABSPATH; ?>/new/logo/logo.png" alt="front" />
            </div>

            <div class="back">
                <a href="<?php ABSPATH; ?>/new/menu.html"> <img src="<?php ABSPATH; ?>/new/logo/back.png" alt="back" /> </a>
            </div>

        </div>
    </div>
</div>
<?php endif; ?>

/新建/logo/logo.png“alt=”front“/>

注意这依赖于可以欺骗的用户代理。

显而易见的答案是,一旦页面呈现完毕,JavaScript启动,就无法执行PHP。(请参阅)。这个特殊的问题可以通过在PHP中检查客户端用户代理轻松解决。显而易见的答案是,一旦页面呈现完毕,JavaScript启动,您就无法执行PHP。(请参阅)。这个特殊的问题可以通过在PHP中检查客户端用户代理轻松解决。我知道这是2016年,可能不再重要,但documentMode是IE 8+值得注意,以防有恐龙访问他们的网站。谢谢,但是在ABSPATH之前使用echo不起作用,所以我仍然使用没有echo的方式。我知道这是2016年,这可能不再重要,但documentMode是IE 8+值得注意,以防有恐龙访问他们的网站。谢谢,但是在ABSPATH之前使用echo不起作用,所以我仍然使用不使用echo