Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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 更改内容在移动设备上的位置_Javascript_Html_Css - Fatal编程技术网

Javascript 更改内容在移动设备上的位置

Javascript 更改内容在移动设备上的位置,javascript,html,css,Javascript,Html,Css,我在运行一个站点,在桌面上,我在侧边栏中发布了一则广告。这来自广告网络中的一些给定JS代码 在iPhone上查看时,该站点将加载自定义布局。当广告显示在移动设备上时,我需要将其放置在网站的页脚中。我正在使用媒体查询来更改手机布局 我最初的解决方案是将JS添加到页脚,只需使用display:none;在桌面版本上。但是,JS不会两次加载到站点中。我基本上知道了一种防止JS在移动版本上加载的方法,直到它碰到页脚代码为止 有什么简单的解决办法吗?我绝对不是一个JS天才。谢谢你的帮助 编辑:以下是广告的

我在运行一个站点,在桌面上,我在侧边栏中发布了一则广告。这来自广告网络中的一些给定JS代码

在iPhone上查看时,该站点将加载自定义布局。当广告显示在移动设备上时,我需要将其放置在网站的页脚中。我正在使用媒体查询来更改手机布局

我最初的解决方案是将JS添加到页脚,只需使用display:none;在桌面版本上。但是,JS不会两次加载到站点中。我基本上知道了一种防止JS在移动版本上加载的方法,直到它碰到页脚代码为止

有什么简单的解决办法吗?我绝对不是一个JS天才。谢谢你的帮助

编辑:以下是广告的JS:

<script async type="text/javascript" src="//cdn.yoggrt.com/yoggrt.js?zoneid=1353&serve=C6SD52Y&placement=chasemccoynet" id="_yoggrt_js"></script>

这只是简单地粘贴到HTML中我希望它出现的地方。唯一的问题是浏览器不会加载多个代码实例

编辑:这里是侧边栏的大纲

div id="sidebar">

  <div class="gravatar">
        <a href="http://chasemccoy.net/"><img alt src="avatar.png" class="avatar avatar-100 photo" height="100" width="100"></a>
      </div>

  <ul>
    <li><a href="http://chasemccoy.net/start-here">Start Here</a></li>
    <li><a href="http://chasemccoy.net/colophon">Colophon</a></li>
    <li><a href="http://chasemccoy.net/archive">Archive</a></li>
    <li><a href="http://chasemccoy.net/rss">RSS</a></li>
  </ul>

  <!-- Yoggrt.com Zone Code -->

  <script async type="text/javascript" src="//cdn.yoggrt.com/yoggrt.js?zoneid=1353&serve=C6SD52Y&placement=chasemccoynet" id="_yoggrt_js"></script>

  <!-- End Yoggrt.com Zone Code -->

</div> <!-- Sidebar -->
divid=“侧栏”>

只需复制HTML代码即可。不是JS代码。并使用相同的显示:无;方法


我的意思是使用HTML代码两次。但是不要使用JS代码两次。

您有一些选择。一种是动态创建脚本节点。在侧边栏中,您需要一个脚本节点,其中包含以下内容(未测试):


更多信息。

为了回答这个问题,请同时添加网站HTML结构的概要——页眉、正文、边栏、页脚——以及用于加载广告的JavaScript或其他代码。附加任何充当广告容器的HTML。此代码必须存在于问题中,而不仅仅存在于您的站点中,否则,一旦您的问题得到解决,该问题将无法作为其他问题的参考。您可以使用媒体查询和flexbox将边栏移动到页脚,并根据需要设置样式。请按要求提供大纲页面结构。我不能这样做,因为每次加载页面时,广告都会动态旋转。它不能是静态的。谢谢。我真的希望有一个非JS的解决方案。有没有办法防止浏览器在手机上完全加载侧边栏?我使用display:none来隐藏它,但脚本仍然会加载。我强烈建议使用经得起未来考验的跨平台视口宽度,而不是用户代理字符串来检测在何处添加脚本(如果要使用基于JavaScript的解决方案)。手机!==我完全同意彼得在上面的评论。在许多、许多层面上,应对问题的方法要好得多。我试图直接回答蔡斯的问题。要使用视口宽度,条件为
if(window.innerWidth
if( ! navigator.userAgent.match(/iPhone/i)) {
     var aScripts = document.getElementsByTagName('script'),
         elContainer = aScripts[aScripts.length - 1].parentNode,
         elScript = document.createElement("script");

     elScript.type = "text/javascript";
     elScript.src = "http://chasemccoy.net/wp-content/themes/lessismoresidebar/js/retina-1.1.0.js"

     elContainer.appendChild(js);
}