当前位置:编程学习 > C#/ASP.NET >>

关于几大浏览器兼容的问题

有时候做出来的网站  在火狐、谷歌、IE下的界面不一样   这个有什么好的办法解决吗? --------------------编程问答-------------------- 只能自己慢慢调样式咯...这个还真是让人头疼的问题... --------------------编程问答-------------------- 有一个办法...收购微软、谷歌和Mozilla,那时你想怎么搞都行... --------------------编程问答--------------------
引用 2 楼 vrhero 的回复:
有一个办法...收购微软、谷歌和Mozilla,那时你想怎么搞都行...

好办法 --------------------编程问答-------------------- 好办法啊  呵呵呵    我要收购他们    --------------------编程问答-------------------- .... --------------------编程问答-------------------- 修改代码,多兼容 --------------------编程问答--------------------
引用 2 楼 vrhero 的回复:
有一个办法...收购微软、谷歌和Mozilla,那时你想怎么搞都行...


即使收购了,也不会统一浏览器吧.呵呵. --------------------编程问答-------------------- 多做,多碰到问题,增长经验,没有速成的。 --------------------编程问答--------------------
引用 7 楼 kkbac 的回复:
引用 2 楼 vrhero 的回复:

有一个办法...收购微软、谷歌和Mozilla,那时你想怎么搞都行...


即使收购了,也不会统一浏览器吧.呵呵.

程序员思维...统一啥浏览器啊,到时W3C都成你的家丁了,你搞一百个浏览器没兼容问题...

大概估计下,有个一两千亿美元就够收购这三家了...我们那么多美国国债拿一点点头就够了,可惜人家对中国不卖... --------------------编程问答-------------------- 原理:采用innerText 或者 innerHTML
<script language=”javascript”>
var stock_code = stockcode.innerText;
var stock_code = stockcode.innerHTML;
</script>
<div id="stockcode" style="display:none">
test
</div>
innerText 跟 innerHTML是两个非DOM标准的方法
其区别如图所示:
(图中应该为innerText)
在IE中 innerText 跟 inner HTML 两个方法都能正常运行
但是FF里面的innerText不可用,但是有一个替代方法: textContent
IE: oDiv.innerText = aString; oDiv.innerHTML = aString;
FF: oDiv.textContent = aString; oDiv.innerHTML = aString;
Ajax in action 的作者之一Eric 用正则表达式 实现了 一个兼容方法,比较有趣
Hope this helps
A little smirk
One day a secretary is leaving on her lunch break, and she notices her boss standing in front of a shredder with a clueless look on his face. The secretary walks up to him and asks if he needs help.
"Yes!" he says looking and sounding relieved, "This is very important."
Glad to help, she turns the shredder on and inserts the paper. Then her boss says, "Thanks, I only need one copy."
Create function like innerText
As you may have figured out innerText is IE only. That means that browsers like Mozilla, Firefox, and Netscape will return undefined. If you do not know what innerText does, it strips out all of the tags so you only see the text.
For example, if a div contains the HTML <span id='span1'>Eric</span>, innerHTML would return <span id='span1'>Eric</span> while innerText will return Eric.
Now to make innerHTML act the same we need to use some regular s with the strings replace() method.
Now the basic pattern we need to match is or or or
Now the regular  we need to use is /<\/?[^>]+>/gi
If you do not know regular s here is a quick explanation:
/ - Starts the regular 
< - Match the less than sign
\/ - Escape the character / so it can be matched (Without the \ you would be saying it is the end of the reg exp.)
? - Match the / character 0 or 1 times
[^>] - Match any character but greater than sign
+ - Match [^>] one or more times
> - Match greater than sign
/ - End the regular 
gi - Tells regular  to match global and ignore the case
So now the function to replace the text would look like:
代码如下:
<script type="text/javascript">
var regExp = /<\/?[^>]+>/gi;
function ReplaceTags(xStr){
xStr = xStr.replace(regExp,"");
return xStr;
}
</script>
完整:
<html>
<head>
<script type="text/javascript">
var regExp = /<\/?[^>]+>/gi;
function ReplaceTags(xStr){
xStr = xStr.replace(regExp,"");
return xStr;
}
</script>
</head>
<body>
<div id="test">
<span id="span1">Test <u><b>Test</b></u> Test
<a href="#">Wow</a>!</span>
</div>
<script type="text/javascript">
var xContent = document.getElementById("test").innerHTML;
var fixedContent = ReplaceTags(xContent);
alert(fixedContent);
</script>
</body>
</html>  
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,