㈠ web前端开发过程中,出现浏览器兼容问题,一般从什么角度考虑解决
1、写代码的时候遵循W3C标准,按照最新稳定版本的IE或WebKit内核浏览器进行编码。
2、遇到部分无法全面解决浏览器兼容的时候,采取CSS的hack手段进行针对性微调。
3、遇到特别难解决的,可以用JS强制修改。
㈡ 自己编写的前端页面,用浏览器打开的时候却变了样子,多了东西,还有一些代码被改变,是什么原因
试一下其他浏览器,有些浏览器扩展程序会添加某些东西。
㈢ 求助!flash造成FLASH CS4崩溃及浏览器输出卡的问题
看了楼主的文件,这是一个纯时间轴的动画1??文件没有问题,不会导致CS4死机,如果死了,是软件有问题,不是这个文件的问题。2??不会造成IE
(N)反应慢,如果反应慢了,请检查这个FLASH以外的原因。3??分卷压缩太难下载,其它需要看的朋友可以下载下面这个文件。
㈣ 我用js写了一段时间代码,可是在浏览器中运行一会就卡死了……怎么解决啊
把setInterval改为setTimeout
非要用setInterval可以把原来的变为clearInterval(timer);timer=setInterval("show()",1000);作用是:运行一次就清理clear一次,然后再用,这样就把循环变成只执行一次
分析:
setTimeout (表达式,延时时间)
setInterval(表达式,交互时间)
延时时间/交互时间是以豪秒为单位的(1000ms=1s)
setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
setInterval 在执行时,它从载入后,每隔指定的时间就执行一次表达式
你可以网络setInterval和setTimeout的区别
㈤ 为什么网站总出来崩溃的
面试某公司的时候,面试官问到,导致浏览器崩溃的原因有哪些?愚辈不才,仅回答出了内存泄漏。其实在网页在装载的过程中,常常由于种种原因使浏览器的反映变的很慢,或造成浏览器失去响应,甚至会导致机器无法进行其他的操作。 对于访客,如果登录您网站,浏览器就立刻崩溃,我想这对谁都是无法容忍的,对此总结了网站导致浏览器崩溃的原因: 1. 内存泄漏 还是先谈下内存泄漏,网站由于内存泄漏的而照成崩溃有两种情况,服务器的崩溃和浏览器的崩溃。内存泄漏所造成的问题是显而易见的,它使得已分配的内存的引用就会丢失,只要系统还在运行中,则进程就会一直使用该内存。这样的结果是,曾占用更多的内存的程序会降低系统性能,直到机器完全停止工作,才会完全清空内存。 Apache的Web服务器是用C/C++编写的,C/C++的内存泄漏问题不必多说,系统中存在无法回收的内存,有时候会造成内存不足或系统崩溃。在Java中,内存泄漏就是存在一些被分配的可达而无用的对象,这些对象不会被GC所回收,然而它却占用内存。 而在客户端,JavaScript所造成的内存泄漏,也将可能使得浏览器崩溃。关于JavaScript的内存泄漏的文章,较权威的有《Memory leak patterns in JavaScript》和《Understanding and Solving Internet Explorer Leak Patterns》。 JavaScript 是一种垃圾收集式(garbage collector,GC)语言,这就是说,内存是根据对象的创建分配给该对象的,并会在没有对该对象的引用时由浏览器收回。再根据《Fabulous Adventures In Coding》一文的说法:“JScript uses a nongenerational mark-and-sweep garbage collector.”,对” nongenerational mark-and-sweep”的可以这样理解,浏览器处理JavaScript并非采用纯粹的垃圾收集,还使用引用计数来为Native对象(例如Dom、ActiveX Object)处理内存。 在引用计数系统,每个所引用的对象都会保留一个计数,以获悉有多少对象正在引用它。如果计数为零,该对象就会被销毁,其占用的内存也会返回给堆。 当对象相互引用时,就构成循环引用,浏览器(IE6,Firefox2.0)对于纯粹的JavaScript对象间的循环引用是可以正确处理的,但由于在引用计数系统,相互引用的对象都不能被销毁,因为是引用计数永远不能为零,因此浏览器无法处理JavaScript与Native对象(例如Dom、ActiveX Object)之间循环引用。所以,当我们出现Native对象与JavaScript对象间的循环引用时,就会出现内存泄漏的问题。 简单来说就是,浏览器使用引用计数来为Native对象处理内存,而引用计数的对象无法被销毁,涉及Native对象的循环引用将会出现内存泄漏。配合下面的例子,理解这句话,基本上就可以理解JavaScript造成的内存泄漏了。 var obj; window.onload = function(){ // JavaScript对象obj到DOM对象的引用,根据id获得 obj=document.getElementById("DivElement"); // DOM 对象则有到此 JavaScript 对象的引用,由expandoProperty实现 document.getElementById("DivElement").expandoProperty=obj; }; 可见,JavaScript 对象和 DOM 对象间就产生了一个循环引用。由于 DOM 对象是通过引用计数管理的,所以两个对象将都不能销毁。 另一种情况是闭包中,当碰到闭包,我们在Native对象上绑定事件响应代码时,很容易制造出Closure Memory Leak。其关键原因和前者是一样的,也是一个跨JavaScript对象和Native对象的循环引用。只是代码更为隐蔽。 window.onload = function AttachEvents(element){ //element有个引用指向函数ClickEventHandler() element.attachEvent( " onclick " , ClickEventHandler); function ClickEventHandler(){ //该函数有个引用指向AttachEvents(element)调用Scope, //也就是执行了参数element。 } } 这里简单理解了JavaScript造成内存泄漏的原因,内存泄漏加大浏览器的负担,很有可能导致浏览器崩溃,我们要做的就是尽量去避免这种情况,做法可参考刚刚所说《Memory leak patterns in JavaScript》和《Understanding and Solving Internet Explorer Leak Patterns》两篇文章加以理解。处理JavaScript内存泄漏最终目的还是要打破JavaScript对象和Native对象间的循环引用或者清零引用计数,释放对象。 一些内存泄漏如闭包内存泄漏,我们可能比较难以发现,内存泄漏的检测我们可能参考《javascript 内存泄露工具使用》。 2. 网页代码复杂和浏览器bug 大量个人网站和低质量网站代码的涌现造成对浏览标准的普遍不支持,如果正好碰上浏览器存在的一些bug,浏览器渲染引擎在处理这些网页代码的时候会出错,比如陷入死循环或直接崩溃等。 HTML代码导致网站崩溃 这是HTML结构错误而导致IE6的崩溃,在<col width="100"/>前或后添加任何字符均会导致IE6 Crash。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"" http://www.w3.org/TR/html4/loose.dtd"> <html><head></head><body> <table> <tr> <td> <table style="width:100%;table-layout:fixed;"> <colgroup><col width="100px"><col></colgroup> </table> </td> </tr><table></body></html> 该代码来个韩国的一个网站,无论是使用XHTML或者HTML的什么版本,只要带了DOCTYPE声明,IE6就会立即崩溃,当不带DOCTYPE声明的时候就没有错误,原因可能跟文档类型声明有关。 令IE6崩溃的CSS代码 该代码参考自网站Cats who Code。该Bug发现与2007年,据说是一名日本人发现的: <style>*{position:relative}</style><table><input></table> 原因在于table中直接放置内容,在IE6会引起mshtml.dll模块损坏而关闭浏览器,非IE6则安全无恙。 除此之外,存在于IE6的Bug还有下面这种情况,当伪类为 a:active 时同样会遇到此问题: <style type="text/css"> a{position:relative;} a:hover{float:left;} </style><a href="">崩溃IE6 ,crash ie6</a> 解决方案:为 <a> 添加 zoom:1; 令其触发haslayout。 <style type="text/css"> a{position:relative;zoom:1;} a:hover{float:left;} </style> 令IE7崩溃的CSS代码 此Bug来自偷米饭,它只存在IE7中据估计是处理省略字的时候导致IE7崩溃。 <style type="text/css"> div{float:left;width:175px;} ul{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;} li{position:relative;} </style><div> <ul> <li>崩溃崩溃崩溃崩溃崩溃crash ie7</li> <li>崩溃崩溃崩溃崩溃崩溃crash ie7</li> </ul></div> 解决方案:为 <li> 添加 zoom:1; 令其触发haslayout 令IE6崩溃的JavaScript代码 来自Internet Explorer Sucks,这个网站就是使用了一下代码,当你使用IE6访问的时候,浏览器将立刻崩溃。代码如下: <script>for (x in document.write) { document.write(x);}</script> 具体引起的原因暂时无法解析,但在兼容性和执行效率来看一般不会采取这样的写法。 3. 网页数据过多 网页含有大量需要处理的数据,造成系统繁忙,如多图页面,超长页面等,或者网页内嵌的各种控件会导致浏览器处理大量数据,造成系统繁忙。如Flash游戏,ActiveX控件等。当浏览器访问网站的时候,如果网站的数据量大,会使得浏览器一般在处理过程中会占用很大的CPU使用率和内存、造成浏览器失去响应,甚至会使电脑系统死机。在网站开发的时候,如果充分考虑Web性能,很大程度上能避免这个问题。 4. Ajax的Web服务漏洞 Ajax的是基于XML的异步传输,文本格式的XML消息可能是二进制数据带宽量的两倍之多。传输XML消息所需的带宽越多,系统或应用程序用来执行其他任务的可用资源就越少。例如执行复杂算法来获取期望结果。 过高的带宽可能导致由系统超载引起的性能减退。过高的带宽将导致Ajax应用程序输出破损的数据,因为没有足够的资源生成干净的数据。这意味着Web服务门户(Ajax应用程序属于其中的一部分)将把破损数据暴露给门户的其他部分,从而导致畸形消息和过度解析。如果威胁者利用了这个漏洞,则会引起浏览器崩溃。 另外一方面,频繁的、较小的 HTTP 请求会加重后端服务器、负载均衡程序和防火墙的负担,结果是造成过高的带宽,最终导致性能降低。如果客户端长期停留在该页面或没有关闭浏览器,会使得浏览器的内存持续上涨,得不到释放,导致客户端浏览器崩溃。 为此,在较多的时候Ajax的时候,我们要考虑通过专门的硬件加速器、优化软件、消除代码冗余、XML加速功能和解决互操作性问题等方式加速Ajax应用程序。另外,积极地监视通信流可以持续地度量Ajax应用程序的网络流量性能。通过将数据放入实时日志中,您可以查看在哪些位置何时出现大量的包丢失和抖动事件,响应变慢的原因以及如何通过修改应用程序的优先级来改善通信流性能。 5. 其他原因 除以上提到的原因之外,还有其他许多原因,虽然有些不会导致浏览器直接崩溃,但也会造成网站无法访问,如日志文件导致磁盘已满、Web服务器C指针错误、进程缺乏文件描述符、线程死锁、数据库中的临时表不够用和服务器超载等,可参考《导致Web站点崩溃最常见的七大原因》。 总结 对于访客,如果登录您网站,浏览器就立刻崩溃,我想这对谁都是无法容忍的,通过总结《网站令浏览器崩溃的原因》,在我们从事网站开发维护的时候,我们应该尽量去避免内存泄漏、代码错误和冗余及数据量过大等问题,构建更佳性能的站点。
记得采纳啊
㈥ HTML网页制作后,浏览器不兼容的问题一般怎么解决 div层错位,该如何解决 对于前端工程师是很头疼的事
兼容问题很容易解决的!自己在制作网页中规范你的样式,div层,注意浮动后要消除浮动
㈦ 页面崩溃该如何解决是什么原因导致页面崩溃
页面崩溃是指页面上的脚本和浏览器不兼容,或者浏览器本身存在问题,从而产生网页与电脑里的某一程序产生冲突的现象。
页面崩溃的解决办法
如果经常遇到这种状况,我们可以通过加大虚拟内存,整理碎片这两种方法来解决。 也可以使用专门的工具软件,比如System File Defragmenter等。 去删掉你带有你Q号那个文件夹《不用担心 它会自动重建一个的》 1、点击IE浏览器中的“工具”,选择“internet选项”。 2、在“常规”页面点击“删除文件”。 3、然后勾上“同时删除脱机内容”,点击确定。 二、打开“internet选项”后,进入“安全”页面,点击“自定义级别”。 将“对标记为可安全执行脚本的ActiveX控件执行脚本”设置为“启用”。 4 点开始-运行 输入regsvr32 jscript.dll后选择“确定” 再次输入regsvr32 vbscript.dll选择“确定”
㈧ 求前端人员来解惑,调测的js代码错误,chrome网页会卡住
代码里面死循环之内的,直接把内存都给你飚满了,chrome有那个心给你报错却没那个力,它自己都动不了达...
你把卡住的浏览器关了,进程结束,内存满血复活,于是你也不仔细改改,又弄段代码去卡死浏览器,我个人觉得你这个人就是个死循环。
㈨ 怎么解决Chrome浏览器“Failed to load resource:net:ERR
解决方式:重新卸载安装Chrome浏览器;
Chrome浏览器出现“Failed to load resource:net:ERR说明缓存读取失败,可能是缓存文件被意外清除,一般是使用第三方清理程序清理浏览器导致;
Google Chrome的特点是简洁、快速。GoogleChrome支持多标签浏览,每个标签页面都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭。此外,Google Chrome基于更强大的JavaScriptV8引擎,这是当前Web浏览器所无法实现的。
(9)前端写算法浏览器崩溃扩展阅读:
Chrome最大的亮点在于其多进程架构,保护浏览器不会因恶意网页和应用软件而崩溃。每个标签、窗口和插件都在各自的环境中运行,因此一个站点出了问题不会影响打开其它站点。通过将每个站点和应用软件限制在一个封闭的环境中这种架构,这进一步提高了系统的安全性。
使用WebKit引擎。WebKit简易小巧,并能有效率的运用存储器,对新开发者来说相当容易上手。Chrome具有DNS预先截取功能。当浏览网页时,“Google Chrome”可查询或预先截取网页上所有链接的IP地址。目标网页。
Chrome具有GPU硬件加速:当激活GPU硬件加速时,使用“Google Chrome”浏览那些含有大量图片之网站时可以更快渲染完成并使页面滚动时不会出现图像破裂的问题。
㈩ web前端浏览器兼容常见问题。。。
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:css里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的css文件开头都会用通配符*来设置各个标签的内外补丁是0。
浏览器兼容问题二:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大
问题症状:常见症状是ie6中后面的一块被顶到下一行
碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题)
解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性
备注:我们最常用的就是div+css布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。
浏览器兼容问题三:设置较小高度标签(一般小于10px),在ie6,ie7,遨游中高度超出自己设置高度
问题症状:ie6、7和遨游里这个标签的高度不受控制,超出自己设置的高度
碰到频率:60%
解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。
备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是ie8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。
浏览器兼容问题四:行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,ie6间距bug(类似第二种)
问题症状:ie6里的间距比超过设置的间距
碰到几率:20%
解决方案:在display:block;后面加入display:inline;display:table;
备注:行内属性标签,为了设置宽高,我们需要设置display:block;(除了input标签比较特殊)。在用float布局并有横向的margin后,在ie6下,他就具有了块属性float后的横向margin的bug。不过因为它本身就是行内属性标签,所以我们再加上display:inline的话,它的高宽就不可设了。这时候我们还需要在display:inline后面加入display:talbe。
浏览器兼容问题五:图片默认有间距
问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。
碰到几率:20%
解决方案:使用float属性为img布局
备注:因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。去掉这个间距使用float是正道。