执行包含javascript中php代码的html块
我有一个.php文件,其中包含html、php和javascript javascript块用于确定浏览器,如果浏览器不是IE,javascript将执行包含php的html块 这是javascript代码执行包含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
<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