手机检测php代码functions.php中的Innerhtml

Posted

技术标签:

【中文标题】手机检测php代码functions.php中的Innerhtml【英文标题】:Mobile detect Innerhtml in php code functions.php 【发布时间】:2015-05-25 15:22:03 【问题描述】:

在我的functions.php wordpress 文件中,我有以下代码:

function mia_on_load_script()

    // Not our page, do nothing
    if( !is_page( 'test' ) )
        return;
?>

    <script type="text/javascript">
function change1()
  document.getElementById('mydiv').innerhtml = '<div id="1" style="margin-left: 0px; padding: 0px; float: left; width: 640px; height: 392px; border: 0px;"><iframe style="border: 0 none transparent;" src="//www.ustream.tv/embed/******?wmode=direct&amp;autoplay=true"   frameborder="no"></iframe></div><div id="2" style="margin-left: 0px; padding: 0px; float: left; width: 320px; height: 392px; border: 0px;"><iframe style="border: 0 none transparent;" src="//www.ustream.tv/socialstream/******"   frameborder="no"></iframe></div><div id="addthisc" style="margin:0px; text-align: center; background-color:#0A0A0C; paddding: 0px 0px 0px 0px; width: 640px; height: 100%;  border:0px;"><div class="addthis_native_toolbox"></div></div>';

</script>


    <?php   
    ;        
add_action( 'wp_head', 'mia_on_load_script' );

?>

网页测试中的HTML代码如下:

<input type="button" onclick="change1()" value="change html in mydiv " />

此功能更改 div 中的 html:'mydiv' 点击按钮“更改 mydiv 中的 html”

当从移动浏览器发出请求时,我希望在加载网页时更改它,而不是更改 html 单击带有 javascript 的按钮,所以我 已决定使用 Mobile_Detect.php 类 (https://github.com/serbanghita/Mobile-Detect)

我之前的函数变成了:

function mia_on_load_script()

    // Not our page, do nothing
    if( !is_page( 'test' ) )
        return;
?>

         <?php   
 require_once(TEMPLATEPATH . '/MyScript/Mobile_Detect.php');
 $detect = new Mobile_Detect; 
 if ( $detect->isMobile() ) 
???????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????


?>



    <?php   
    ;        
add_action( 'wp_head', 'mia_on_load_script' );

?>

那么我必须插入哪些代码来代替问号来更改 html 来代替 'document.getElementById('mydiv').innerHTML'? 谢谢

【问题讨论】:

【参考方案1】:

使用window.addEventListener('load', ...):

function mia_on_load_script()

    if(is_page('test'))
    
        require_once(TEMPLATEPATH . '/MyScript/Mobile_Detect.php');
        $detect = new Mobile_Detect; 
        if($detect->isMobile())
        
?>

<script> <!-- No "type" attribute for HTML 5 -->
window.addEventListener('load', function()

    document.getElementById('mydiv').innerHTML = '<div id="1" style="margin-left: 0px; padding: 0px; float: left; width: 640px; height: 392px; border: 0px;"><iframe style="border: 0 none transparent;" src="//www.ustream.tv/embed/******?wmode=direct&amp;autoplay=true"   frameborder="no"></iframe></div><div id="2" style="margin-left: 0px; padding: 0px; float: left; width: 320px; height: 392px; border: 0px;"><iframe style="border: 0 none transparent;" src="//www.ustream.tv/socialstream/******"   frameborder="no"></iframe></div><div id="addthisc" style="margin:0px; text-align: center; background-color:#0A0A0C; paddding: 0px 0px 0px 0px; width: 640px; height: 100%;  border:0px;"><div class="addthis_native_toolbox"></div></div>';
);
</script>

<?php
        
    

add_action('wp_head', 'mia_on_load_script');

【讨论】:

以上是关于手机检测php代码functions.php中的Innerhtml的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress主题文件夹中的functions.php作用说明

wordpress functions.php 文件中的错误

在functions.php中获取wordpress帖子ID

如何从functions.php中的简码挂钩中排除产品类别ID - WooCommerce

php WP - functions.php中的基本功能

如何在functions.php(wordpress)中加载引导脚本和样式?