根据屏幕大小禁用javascript
Disable javascript based on screen size
好吧,这可能不可能,但我认为是的,我对此完全陌生,所以我尝试的可能显然不起作用,但当时我不知道。我的网站是移动响应的,没有单独的移动网站网页,所以单独将代码放入页面也不起作用。
iv'e尝试过:
<style>
@media screen and (max-width: 720px) {
#div {
display:none;
}
}
</style>
<div id="div">
<script type="text/javascript">
var adfly_id = ID;
var popunder_frequency_delay = 0;
</script>
<script src="https://cdn.adf.ly/js/display.js"></script>
</div>
这不起作用。Ive在这里的某个地方看到了这个代码
if(screen.width < 720) {
// do any 720 width stuff here, or simply do nothing
return;
} else {
// do all your cool stuff here for larger screens
}
但我不知道该如何将adfly代码放入其中。
编辑:
感谢那些回复的人,iv'e得到了它Praveen Kumar的答案,而奇怪的是,它仍然在桌面上加载广告,无论分辨率如何,它在手机上都非常完美。。。Siguza我之前会给你的,这样人们就会知道,以备将来参考。我会再次编辑。。。
编辑II:
为了将来参考,Siguza的方法也很有效,所以如果其他人偶然发现了这一点,那么你可以拍下你的照片,看看该用谁。此外,Praveen Kumar方法也适用于最短的广告,对于任何可能使用它们而不是adfly的人来说,下面是我使用的。
<script type="text/javascript">
if(screen.width < 720) {
var adfly_id = null;
var popunder_frequency_delay = null;
} else {
// do all your cool stuff here for larger screens
var adfly_id = ID;
var popunder_frequency_delay = 0;
}
</script>
<script src="https://cdn.adf.ly/js/display.js"></script>
<script type="text/javascript">
if(screen.width < 720) {
//screens bigger than 720
} else {
//shortest advertisement code
}
</script>
替换此行:
<script src="https://cdn.adf.ly/js/display.js"></script>
这个:
<script>
if(screen.width >= 720) {
document.head.appendChild(document.createElement('script')).src = 'https://cdn.adf.ly/js/display.js';
}
</script>
这只需创建一个<script>
标记,将其src
属性设置为https://cdn.adf.ly/js/display.js
,然后将其添加到文档的<head>
标记中
只使用JavaScript而不是纯HTML。
请注意,我在这里依赖HTML5,但您的问题也是如此(<script>
和<style>
不需要type
属性)。
编辑:
这种方法在使用document.write
的脚本上似乎失败了(IMO认为这是一种糟糕的做法)
你可以通过自己使用document.write
来解决这个问题:
<script>
/* you can put your adfly_id code right here */
if(screen.width >= 720) {
document.write('<script src="https://cdn.adf.ly/js/display.js"><'+'/script>');
}
</script>
请注意,必须拆分字符串中的</script>
标记,否则它将关闭周围的脚本标记,从而导致语法错误。
可能是一个黑客作业。如果只有当你有一个有效的adfly_id
时,这才有效,那么就这样做:
if(screen.width < 720) {
var adfly_id = null;
var popunder_frequency_delay = null;
} else {
// do all your cool stuff here for larger screens
var adfly_id = ID;
var popunder_frequency_delay = 0;
}
这可能会使您尝试初始化的adfly内容失败。
但正确的方法是:
if(screen.width < 720) {
// Bye bye.
} else {
// do all your cool stuff here for larger screens
require("awesome.js");
}
ps:这里的require()
函数是一个伪函数,它将包括并激活JavaScript文件。该代码的示例是:
function loadScript(url, callback) {
// Adding the script tag to the head as suggested before
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
// Then bind the event to the callback function.
// There are several events for cross browser compatibility.
script.onreadystatechange = callback;
script.onload = callback;
// Fire the loading
head.appendChild(script);
}
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 原始javascript将json对象中的项目打印到列表中的屏幕上
- 屏幕大小调整 Javascript
- 全局屏幕span onclick触发一个事件javascript
- 巧妙的屏幕大小和缩放(在Javascript上)
- Javascript元素相对于屏幕的位置
- 如何根据客户端的屏幕大小使用javascript更改DOM元素
- 如何使用Javascript使屏幕颜色随时间变化
- 如何修复在浏览器中打开后出现在屏幕上的html/Javascript代码
- Javascript屏幕大小检测器并显示图像
- 为什么智能手机上的屏幕分辨率与javascript屏幕宽度不同,尽管高清分辨率很高
- Android Webview - javascript屏幕尺寸vs实际屏幕尺寸
- Angular不支持javascript屏幕上的键盘输入
- 如何强制JavaScript屏幕宽度的硬编码值
- 没有服务器端代码的.net中的javascript屏幕截图
- Javascript屏幕保护程序动画不起作用
- Javascript屏幕大小If Else语句
- 崩溃后的JavaScript屏幕位置
- dom事件-纯JavaScript屏幕键盘问题