2012-12-08 75 views
0

我需要包括一个文件总是在屏幕的浏览器将大于或等于小于699px,为了这个,我正在尝试使用下面的脚本:包括文件使用JavaScript

​​

但没有它。有谁知道如何让它工作?

此致敬礼。

+0

你不能在''''-delimited'字符串中直接使用''''。使用'''来代替字符串。 –

+0

@Šime这不是最大的问题。 – deceze

+0

@deceze它使JavaScript代码抛出。我会说在执行代码时这是一个很大的问题。':P' –

回答

1

include指令必须页面前一部分它获取到Web浏览器,因为在JavaScript的执行的网页浏览器,它已经太迟了。你可能会考虑将包括在页面中,但style="display:none;"它隐藏在一个div,然后脱除使用JavaScript在页面加载时:

<script type="text/javascript"> 
window.addEventListener('load', function(){ 
    if (screen.width >= 699) 
     document.getElementById('myHiddenElement').style.display = null; 
}); 
</script> 

或者,你可以使用同样的策略与CSS Media Queries

编辑:例子:

<style type="text/css"> 
#myHiddenElement { 
    display: none; 
} 
@media screen and (min-width: 699px) { 
    #myHiddenElement { 
     display: block; 
    } 
} 
</style> 

这会给你更好的性能,它会自动隐藏,并为用户改变他们的浏览器窗口中显示的内容。

+0

它非常完美,非常感谢你@Matt Patenaude –

1

JavaScript在页面传递给浏览器后触发。 ASP包括需要在服务器端完成页面呈现之前。

1

<!--#include virtual="/menu.asp"-->是SSI语法(我认为ASP Classic也借用了这种语法)。无论哪种方式,如果服务器支持它,它将在服务器上处理并由文件的内容替换。

所有的服务器端处理完成后,结果被传递给客户端。

可能性是,无论文件的内容是什么,它都会包含"个字符和新行,其中任何一个都会破坏JavaScript字符串文字。

作为一个经验法则,如果你想显示更宽的屏幕额外的内容时,你应该:

  • 始终在页面中包含的内容
  • 更关心的窗口大小比屏幕尺寸
  • 使用CSS Media Queries它基于大小
  • 显示屏上窄的窗口内容陆续一件事情,而不是隐藏一些完全
0123再整

如果您确实想避免在较窄的屏幕上加载内容,请使用JavaScript来测试屏幕/窗口大小,然后使用XMLHttpRequest加载其他内容和DOM以将其添加到页面中。

+0

非常感谢你的帮助和建议。 –