Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 设置论坛的模板“分辨率大于1280固定,小于1280百分比”要改哪个文件?模板是greenwal

[复制链接]
小晴天 发表于 2011-11-21 21:34:46 | 显示全部楼层 |阅读模式
问题描述
适用版本: Discuz! 7.2
浏览器: IE6 IE7 IE8 IE9 TT 360 IE10 firefox 
使用模板: 官方模板
BUG地址: http://bbs.xiege.net
目前使用小分辨率的大分辨率的人都有不少,为了适应各种不同分辨率显示器的人群,把论坛的分辨率调为分辨率大于1280的使用固定模式,比如1920分辨率的显示器,显示论坛的主体表格宽度即为1280,从而避免两边留白太多,也避免拉伸过宽不方便阅读的情况。而小于1280显示器则可以使用百分比,从而避免出现需要左右横拉的情况。

比如这个论坛就做到了:http://www.audiobar.net

我自己的论坛是http://bbs.xiege.net 目前使用的是固定的分辨率。

我在网上搜索了一下,要实现上述功能,需要修改模板文件,其中在网上有几条类似功能的代码,问题是对这些代码的功能方面了解不多,不知应该如何修改,以及应该放到模板的哪个文件,特此在这里向论坛里的大大求助。我的模板是使用官方的greenwall。我相信这个应该也有不少朋友需要的,请大大们不吝赐教。在下就此谢过。


第一段类似的,它实现的是当大于1024时按照百分比来,当小于1024时按照固定像素
  1. <html>
  2. <head>
  3. </head>
  4. <body onResize="reSizeDiv()">
  5. <div id="d1" style="width:400px;height:400px;background-color:lightblue;"></div>

  6. <SCRIPT>
  7. reSizeDiv();
  8. function reSizeDiv()
  9. {
  10. var s = document.body.offsetWidth;  //(带浏览器边框的宽度)
  11. //var s = document.body.clientWidth; //(不带浏览器边框的宽度)

  12. if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)
  13. s=window.innerWidth;

  14. var a = 1024;  //要变换的临界点
  15. var w = "400px"; //DIV宽度(像素)
  16. var w1 = "40%";  //DIV宽度(百分比)
  17. var d = document.getElementById("d1");
  18. if(s > a)
  19. {
  20. d.style.width = w1;
  21. d.innerHTML = "DIV宽:width="+w1+"<br>DIV高:height=400px<br>当前窗口宽:Width="+s+"px";
  22. }
  23. else
  24. {
  25. d.style.width = w;
  26. d.innerHTML = "DIV宽:width="+w+"<br>DIV高:height=400px<br>当前窗口宽:Width="+s+"px";
  27. }
  28. }

  29. </SCRIPT>     
  30. </body>
  31. </html>
复制代码
第二段:与上面一样
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <script type="text/javascript">
  6. window.onload = function()
  7. {
  8.   document.getElementById("container").style.width = window.screen.width > 1024 ? "80%" : "800px";
  9. }
  10. </script>
  11. </head>
  12. <body>
  13. <div id="container" style="background:#09f;">Hello<div>
  14. </body>
  15. </html>
复制代码
第三段:依然与上面一样
  1. if(window.screen.width > 1024)
  2. {
  3. document.getElementById("container").style.width="100%";
  4. }
  5. else
  6. {
  7. document.getElementById("container").style.width="1024px";
  8. }


  9. ===============
  10. ps:
  11. 在javascript中得到当前窗口的高和宽
  12. <body><SCRIPT LANGUAGE="JavaScript">
  13. var   s = "";
  14. s += "\r\n网页可见区域宽:"+ document.body.clientWidth;
  15. s += "\r\n网页可见区域高:"+ document.body.clientHeight;
  16. s += "\r\n网页可见区域宽:"+ document.body.offsetWidth   +" (包括边线和滚动条的宽)";
  17. s += "\r\n网页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)";
  18. s += "\r\n网页正文全文宽:"+ document.body.scrollWidth;
  19. s += "\r\n网页正文全文高:"+ document.body.scrollHeight;
  20. s += "\r\n网页被卷去的高:"+ document.body.scrollTop;
  21. s += "\r\n网页被卷去的左:"+ document.body.scrollLeft;
  22. s += "\r\n网页正文部分上:"+ window.screenTop;
  23. s += "\r\n网页正文部分左:"+ window.screenLeft;
  24. s += "\r\n屏幕分辨率的高:"+ window.screen.height;
  25. s += "\r\n屏幕分辨率的宽:"+ window.screen.width;
  26. s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight;
  27. s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth;
  28. s += "\r\n你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色";
  29. s += "\r\n你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸";
  30. alert(s);
  31. </SCRIPT>
复制代码
第四段:这段是综合的代码

  1. 既判断浏览器,也判断分辨率
  2. 程序代码

  3. <SCRIPT LANGUAGE="JavaScript">
  4. <!--
  5. if (window.navigator.userAgent.indexOf("MSIE")>=1)
  6. {
  7. var IE1024="";
  8. var IE800="";
  9. var IE1152="";
  10. var IEother="";

  11. ScreenWidth(IE1024,IE800,IE1152,IEother)
  12. }else{
  13. if (window.navigator.userAgent.indexOf("Firefox")>=1)
  14. {
  15. //如果浏览器为Firefox
  16. var Firefox1024="";
  17. var Firefox800="";
  18. var Firefox1152="";
  19. var Firefoxother="";

  20. ScreenWidth(Firefox1024,Firefox800,Firefox1152,Firefoxother)
  21. }else{
  22. //如果浏览器为其他
  23. var Other1024="";
  24. var Other800="";
  25. var Other1152="";
  26. var Otherother="";
  27. ScreenWidth(Other1024,Other800,Other1152,Otherother)
  28. }
  29. }

  30. function ScreenWidth(CSS1,CSS2,CSS3,CSS4){
  31. if ((screen.width == 1024) && (screen.height == 768)){
  32. setActiveStyleSheet(CSS1);
  33. }else{
  34. if ((screen.width == 800) && (screen.height == 600)){
  35. setActiveStyleSheet(CSS2);
  36. }else{
  37. if ((screen.width == 1152) && (screen.height == 864)){
  38. setActiveStyleSheet(CSS3);
  39. }else{
  40. setActiveStyleSheet(CSS4);
  41. }}}
  42. }

  43. function setActiveStyleSheet(title){
  44.          document.getElementsByTagName("link")[0].href="style/"+title;
  45. }
  46. //-->
  47. </SCRIPT>

  48. 解释:

  49. var IE1024="";
  50. var IE800="";
  51. var IE1152="";
  52. var IEother="";

  53. 引号里面分别填写,用户使用IE的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.


  54. var Firefox1024="";
  55. var Firefox800="";
  56. var Firefox1152="";
  57. var Firefoxother="";

  58. 引号里面分别填写,用户使用FF的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.


  59. var Other1024="";
  60. var Other800="";
  61. var Other1152="";
  62. var Otherother="";

  63. 引号里面分别填写,用户使用其他浏览器的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.



  64. 不判断分辨率,只判断浏览器
  65. 程序代码

  66. <SCRIPT LANGUAGE="JavaScript">
  67. <!--
  68. if (window.navigator.userAgent.indexOf("MSIE")>=1)
  69. {
  70. //如果浏览器为IE
  71. setActiveStyleSheet("default.css");
  72. }else{
  73. if (window.navigator.userAgent.indexOf("Firefox")>=1)
  74. {
  75. //如果浏览器为Firefox
  76. setActiveStyleSheet("default2.css");
  77. }else{
  78. //如果浏览器为其他
  79. setActiveStyleSheet("newsky.css");
  80. }
  81. }

  82. function setActiveStyleSheet(title){
  83.          document.getElementsByTagName("link")[0].href="style/"+title;
  84. }
  85. //-->
  86. </SCRIPT>

  87. 解释:
  88. 如果浏览器为IE,则调用default.css
  89. 如果浏览器为Firefox,则调用default2.css
  90. 如果浏览器为其他,则调用newsky.css

  91. 用法:
  92. 放在
  93. </head>前面即可。
复制代码
第五段:这段貌似是要调用不用的首页
  1. <script LANGUAGE="JavaScript">
  2. function redirectPage() {
  3. var url640x480 = "default-2.htm";
  4. var url800x600 = "default-2.htm";
  5. var url1024x768 = "default-1.htm";
  6. if ((screen.width == 640) && (screen.height == 480))
  7. window.location.href= url640x480;
  8. else if ((screen.width == 800) && (screen.height == 600))
  9. window.location.href= url800x600;
  10. else if ((screen.width == 1024) && (screen.height == 768))
  11. window.location.href= url1024x768;
  12. else window.location.href= url1024x768;
  13. }
  14. </script>
复制代码



⑥仴初ハ_____我 发表于 2012-4-16 14:49:07 | 显示全部楼层
来过送人头
回复

使用道具 举报

sonhill 发表于 2014-5-29 02:49:22 | 显示全部楼层
很有用的东东啊,有没有谁试过成功的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-26 00:28 , Processed in 0.026707 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表