葡京在线开户Bootstrap 3的box-sizing样式导致U艾德itor控件的图片不能平常缩放

Insus.NET开发那样多网站,客户直接尚未那几个须要。可是,未来有客户有诸如此类的须要了。

  UEditor组件是百度提供的一套开源的web在线所见即所得富文本编辑器,具有轻量,可定制,重视用户体验等性子,基于MIT协议,功用很强劲。近来在动用的历程中窥见内部上传的图纸(恐怕插入已部分神色包图片)都不只怕寻常缩放,选中图片,用鼠标点击并拖动图片旁边的小标签,图片只可以减弱不可能推广。尝试过很多措施都不可能消除,甚至检查了js源码,也远非察觉有别的尤其的地点。

在线用户访问人数,也正是说,要为网站写三个计数器,计数器的伊始值为0,网站一开首运维时(Application_Start),就从头计算,当有用户访问时(Session_Start)计数器加1,当用户访问离开时(Session_End)计数器减1。

  后来无意中发现页面上引入了Bootstrap,而Bootstrap默认将box-sizing体制统一设成border-box了。具体内容能够查阅Bootstrap的布告日志:http://blog.getbootstrap.com/2013/08/19/bootstrap-3-released/

在网站中,有一个文本叫做Global.asax:
葡京在线开户 1

  有关box-sizing样式的概念和用法能够看那里:http://www.w3school.com.cn/cssref/pr_box-sizing.asp

在程序开头时,定义四个计数器,开头值为0

  Bootstrap中有震慑的css:

葡京在线开户 2葡京在线开户 3

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
 Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs on application startup

        Application("OnlineVisitors") = 0
    End Sub

  我们只必要在页面上再也定义css来掩盖Bootstrap中的上述样式即可,如:

View Code

  .edui-container *{
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
  }

  .edui-container *:before,
  .edui-container *:after {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
  }

当有用户访问网站时:

  * .edui-container为引用U艾德itor组件的父成分上运用的css class。

葡京在线开户 4葡京在线开户 5

 

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a new session is started

        Application.Lock()
        Application("OnlineVisitors") = DirectCast(Application("OnlineVisitors"), Integer) + 1
        Application.UnLock()
    End Sub

View Code

当用户距离网站时:

葡京在线开户 6葡京在线开户 7

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a session ends. 
        ' Note: The Session_End event is raised only when the sessionstate mode
        ' is set to InProc in the Web.config file. If session mode is set to StateServer 
        ' or SQLServer, the event is not raised.

        Application.Lock()
        Application("OnlineVisitors") = DirectCast(Application("OnlineVisitors"), Integer) - 1
        Application.UnLock()
    End Sub

View Code

上边八个Session_Start和Session_End方法中,Insus.NET有使用Application.Lock和Application.Unlock方法,是为了以免万一两个线程同时更改这么些变量,在变更计数器时,先把它Lock起来,更变利落,再Unlock。

把Global.asax文件保留,在网页中须求出示网站在线访问人数的职位:

 <%= Application("OnlineVisitors").ToString()%>

 
测试测试,测试进度中,Insus.NET有使用了七个浏览器,那样是为着让网站取得不一样的进程访问者。而种种浏览器打开分歧的窗口,所获得到的多寡变量。
葡京在线开户 8

 

 后记:
此种方法,只是做表面武功,总结不了真正的在线访问人数。假如须要真正兑未来线人数总括,还得供给获得访问者的别的参数来一块判断。