IE7中的幾個問題

解決IE7下window.status不顯示的問題 上傳圖片時無法預覽 js關閉窗口時老提示

遇到了幾個在IE7有問題,但在IE6中使用正常的問題,共三個:
1、js關閉窗口時老提示的問題。
2、上傳圖片時無法預覽的問題。
3、window.status 無效的問題。

關於第一個,以前在IE6下關閉窗口是這樣的,window.opener = null;window.close();在IE7中,這樣是不行的,仍然會彈出提示,必須在中間加一句,window.open("","_self");  像下面的形式就行了。
window.opener = null;
window.open("","_self");    //這是IE7中必需的
window.close();

二、上傳圖片時的預覽

在IE6中可以這樣,非常方便。
<input type="file" /> <img id="imgPreview" />
<script type="text/javascript">
function Preview(file){
  document.getElementById("imgPreview").src = this.value;
}
</script>

但是在IE7中,這樣無效,那天我這樣測試的時候我用的是 GreenBrowser(綠色瀏覽器),發現競然也能預覽,但在 MS IE7中就不行,我就納悶了,我去看了百度相冊,他的上傳相片預覽也是使用這種方式,我是用綠色瀏覽器看百度相冊,用MSIE看我的程序,百度相冊上傳時能預覽,我的程序就是不行.結果我一直在懷疑是不是程序哪裏搞錯了,上網查了好多資料.硬是沒搞定,後來我用MS IE 進百度相冊,才發現,原來百度相冊也不能預覽了.原來是綠色瀏覽器惹的禍,怪吧,這可是個IE內核的瀏覽器哦,以後大家記住,測試程序時一定要用微軟的IE7,用其它IE內核的瀏覽器可能會有意想來到的問題.
那在IE7下怎麼實現預覽呢?答案是:用濾鏡,請看下面:

請選擇要上傳的相片:<input type="file"  /><br />
<div id="imgPreview" style="filter:progid13.gifXImageTransform.Microsoft.
AlphaImageLoader(sizingMethod=scale);width:400px;height:200px;"></div>
function Preview(imgFile)
{
document.getElementById("imgPreview").filters.
item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
}


關於AlphaImageLoader濾鏡,我順便也轉過來。

語法:
filter: progid: DXImageTransform.Microsoft.AlphaImageLoader( enabled=bEnabled, sizingMethod=sSize, src=sURL)
屬性:
enabled : 可選項。布爾值(Boolean)。設置或檢索濾鏡是否激活。true | false
  true : 默認值。濾鏡激活。
  false : 濾鏡被禁止。
sizingMethod : 可選項。字符串(String)。設置或檢索濾鏡作用的對象的圖片在對象容器邊界內的顯示方式。 crop : 剪切圖片以適應對象尺寸。
  image : 默認值。增大或減小對象的尺寸邊界以適應圖片的尺寸。
  scale : 縮放圖片以適應對象的尺寸邊界。PS:自己的體會是,如果padding 和margin的大小不適中的的話,那麼背景圖片會被撐大。這個縮放還是挺好用的,就相當於那個background-repeat。       
src : 必選項。字符串(String)。使用絕對或相對 url 地址指定背景圖像。假如忽略此參數,濾鏡將不會作用。
說明:
在對象容器邊界內,在對象的背景和內容之間顯示一張圖片,並提供對此圖片的剪切和改變尺寸的操作。如果載入的是PNG(Portable Network Graphics)格式,則0%-100%的透明度也被提供。
PNG(Portable Network Graphics)格式的圖片的透明度不妨礙你選擇文本。也就是說,你可以選擇顯示在PNG(Portable Network Graphics)格式的圖片完全透明區域後面的內容。


三、window.status 不顯示的問題

在ie6中,使用window.status =" 歡迎光臨我的博客!!!",就能在狀態欄顯示這麼一行字,但在IE7中,
本機測試的時候很正常,能顯示,但傳的服務器上去以後就是不顯示,程序運行也沒有錯誤,開始我懷疑是服務器的安全設定問題,後來才發現,又是IE7的問題,IE7的安全性設置中,默認是不能許腳本更新狀態欄的。真是可惜了,又少了一塊可利用的區域。
如果是自己的電腦的話,可以自己更改設置,使IE7也能顯示。
方法是:工具--》Internet 選項--》安全 -- 選中Internet後 點 自定義級別 --》找到“允許狀態欄通過腳本更新”,將默認的禁用改爲啓用就行了。
我特地截了張圖。





 附件: 您所在的用戶組無法下載或查看附件

以上三個雖然是小問題,但如果不明白是瀏覽器引起的話,很多朋友估計會花很多時間調試程序,但程序是沒有問題的。
所以我把它們寫在這,希望對大家有所幫助。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章