Posts Tagged With: internet explorer

[IE11] 2023/02/14 後無法單獨執行 IE


農曆年後,很多新聞報導微軟要在這個月 (02/14) 的安全性更新時,把 IE11 斃掉。

02/14 是西雅圖時間,所以我從 02/15 測試。

02/15 的 Edge 更新完,點選 IE11 ,會自動切換到 Edge ,經追蹤後,設定畫面沒改,還是如下方所示,但是紅圈框起來的「永不」會變成未選擇,只要人工手動改回「永不」,IE11 還是開得起來。

選擇永不就搞定

02/16 的 Edge 更新完,點選 IE11 ,又自動切換到 Edge ,本來以為要再改一次,但是不是,整個選項沒了。

[更新]

我有截圖放在 FB 上,這張圖才是 02/16 的截圖。

沒有永不可選擇

[更新]

這張圖是寫文章時抓的,所以看起來又改一版,上下數來就有三個版。

已經沒有永不可以選擇

想要讓 IE11 繼續跑,只好拜託 google 大神。

最早比較完整的可能是 2020/08/10 這篇:

Internet explorer Edge addon, begone!

從這篇後找到關鍵字後,可以找到 2020/08/04 論壇上有:

IEToEdge BHO appears in IE 11 after July 2020 Updates

再更早通常跟防毒軟體有關,看起來是防毒軟體發現新的機碼被標記。

依照上面文章將

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Ext\CLSID\{1FD49718-1D00-4B19-AF5F-070AF6D5D54C}

設定為 0 後,IE11 又恢復可以開啟的狀態。

既然微軟打算斃掉 IE11 ,也不強迫大家硬要用 IE11 ,直接在 Edge 跑 IE11 看看,有此需求的,建議先從設定將工具列 IE11 圖示打開會比較方便,如下圖:

在 Edge 啟用 IE11 按鈕

依照先前網誌測試幾頁 IE11 專屬網頁:

[IE11] ActiveX 在獨立網頁可正常執行

測試包含 ActiveX 跟 VBScript 的 OWC 元件範例網頁正常 (網頁圖表範例) ,連入時,記得點選工具列上的 IE11 圖示,會顯示 Edge 正在跑 IE11 模式:

用 Edge 跑包含 OWC 的網頁

其次測試很多同業叫我改版的水文統計網頁,這是用 asp + VBScript 寫的 (水文統計線上分析):

Edge 跑 VBScript + DHTML 的內容

再來測試網友叫我改的 BBS 年代的網文排版工具 (線上排版工具)

時代的遺跡:BBS 網文排版工具

我在 IE 全盛年代時,因為當時 HTML5 + SVG 還沒出來,大量採用 DHTML + VML ,VML 是 w3c 承認的格式,但是只有提出的微軟用,所以只被 IE 支援,但在那個年代網頁向量繪圖只有 VML ,沒得選,而使用 VML 縮放點陣圖是採比較耗 CPU 的重繪縮圖,不是直接抽點變得有點像是馬賽克,所以我都用 VML 縮圖,目前為止,Chrome / Edge 在縮小圖片時,還是採用抽點縮圖。

原始的檔案是做成 HTMLHelp ,可編譯成 Windows 內部說明檔的格式,其中圖檔是原圖用 1024×768 ,用 VML 語法縮圖到 512×384,滑鼠點選會顯示原圖的作法:

編譯後的線上說明檔

在 Edge 測試如下圖 (曾文水庫暨曾文溪流域資訊系統):

Edge 跑 IE11 模式支援 ActiveX + VML

最後,在 Edge 跑 IE11 除錯模式不被支援,所以這時利用本篇一開始的說明強制回 IE11 是一種選擇,微軟也提供說明在來除錯:

Use DevTools in Internet Explorer mode (IE mode)


其他參考

寫這篇文章時,找到很不錯的黑大這幾篇:

沒熬過情人節的 IE11 – 強迫導向 Edge 問題及後續停用計劃

在 Windows 11 啟動獨立 IE 應用程式

本來我們公司有自製 .Net framework 2.0 + WebBrowser Controller 可以在 Win11 下跑需要 IE11 的網頁,但用上面方法更簡潔。

先前在找 IE11 繼續跑之前,有先看到 Edge 的設定網頁,有各種功能分別可在群組原則、機碼跟 Edge 專用的 XML 設定,適用於企業管控瀏覽器:

Microsoft Edge – 原則

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[IE11] ActiveX 在獨立網頁可正常執行


先前提到

[IE11] 透過設定信任網站簡單讓 IE11 恢復 VBScript 支援

最近有人跟我反應 OWC 網頁無法正常檢視。

OWC 網頁我不確定是何時開始做的,不過依據我在 2002 年已經開始用在正式專案上推定,OWC 網頁至少是 2002 年做的,我開始使用的版本是 Office XP 附隨的 OWC10 。

OWC 網頁的網頁繪圖放在 培基語言 裡面:

如下圖,OWC 版本下方應出現 OWC ActiveX COM 的控制項,但是沒有。

網頁圖表範例的 OWC 無法正確顯示

為了除錯方便,我習慣將目標網頁單獨開窗,直接執行 OWC 的 [網頁圖表範例] :

單獨開窗執行網頁圖表範例

可以看到上圖,可正確執行該網頁,並呼叫版權畫面觀看版本資訊。

初步推論,應該是框架 (frame) 安全性擋掉,不過我沒空去追安全性更新是哪版開始擋。HTML5 建議不要再使用 frame ,改用 iframe ,所以有可能 frame 安全性又被進一步限縮。

如果單獨執行網頁,只需要加入信任網站就可執行:

加入信任網站

加入信任網站後,不用另外加入相容性檢視設定:

相容性檢視設定維持空白

測試無誤後,我順便測兩個網友希望我更新到 HTML5 的網頁,我還沒空更新的:

水文統計線上分析

這個網頁是從水文統計網頁改版,使用 Server 端使用 ASP + VBScript ,Client 端使用 DHTML + VBScript ,所以除了 IE 以外,都不能執行。其中因為 Client 端使用 VBScript ,所以回歸年與設計量無法被其他瀏覽器支援。

正確設定信任的網站後,仍然可以執行,如下圖。這網頁我有承諾有空會改。

水文統計線上分析

線上排版工具

這個工具是當時 BBS 網路文學盛行時,因為 BBS 版面約在一行 80 char,作者習慣使用 76 char 左右 (參數可調整) 時寫的,只有做成 Client 端 DHTML + VBScript ,亦即表示可下載到自己電腦執行。

目前都以網頁瀏覽 BBS 了,所以這個排版工具好像沒啥用,我不知道為什麼還有網友會想用。

線上排版工具

Categories: 工作點滴, 技術分享 | 標籤: | 1 則迴響

[Web] 前端 JavaScript 開發與除錯


前幾天,我針對一個 VBScript for IE 升級到 JavaScript 的網頁加入新功能除錯,由於網頁很亂,所以我考慮用 Visual Studio Code 的 console.log 來除錯,但不知道是不是因為我都用可攜版 (免安裝版) ,我的 JavaScript Runner 跑起來不正常,無法用來除錯,所以我就考慮用網頁來除錯器。

首先先搜尋了一些 OnLine 的 JavaScript ,包含 w3school ,但都不是十分滿意,所以決定自己來寫一個簡單除錯器:

JavaScript 執行器:http://www.hisdt.com/Tools/Runner/Runner.htm

IE11 預設執行畫面

畫面預設分幾個區塊,用一個 HelloScript 程式碼作為預設功能展示,點選 [執行] 按鈕,會跑 eval(程式碼 + 執行指令) 送到 輸出,執行指令有點像 IDE 的即時運算視窗。

所以當點選 [執行] 按鈕時,會跑藍色線,依據執行指令 HelloScript 呼叫原始碼 HelloScript ,這也表示原始碼可以有一些無關的程式碼在那,這樣有助於將 .js 檔案內容直接複製進來測試。

在原始碼 HelloScript 使用了常見三個輸出,訊息盒 (alert)、綠線是前端網頁 (使用 divOutput)、紅線是輸出 (函數回傳),輸出結果如下。

訊息盒輸出
網頁及回傳輸出

當 JavaScript 發生錯誤時,會把錯誤碼、錯誤訊息、堆疊訊息送到 [輸出],例如故意在 [執行命令] 把函數名寫錯。

常用的 console.log 可正常輸出到瀏覽器開發工具的主控台。

IE11 console.log 測試
IE11 開發工具輸出到主控台
新的 Edge console.log 測試
新的 Edge 開發工具輸出到主控台
Chrome console.log 測試
Chrome 開發工具輸出到主控台

把 StrTools.js 內容全部貼到 [程式碼],測試瀏覽器的開發工具是否能正常除錯。

貼入 js 檔案內容進行測試
IE11 開發工具可針對貼入程式碼除錯
新 Edge 開發工具可針對貼入程式碼除錯
Chrome 開發工具可針對貼入程式碼除錯

完成了除錯器開發後,我當然找到我的問題,但這是一個很悲傷的故事。

new Date(1899, 12, 30); // 回傳 1900/01/30

一般直覺以為,上面的物件是 1899/12/30 ,但是 JavaScript 是 1900/01/30 ,因為 Month 引數是 0 ~ 11 ,不是 1 ~ 12 啊~~~ 我回翻我所有的原始碼發現,我在 StrTools.js 這個公用函數中,2018 以前的版本都有在 Month 處 加減 1,不知道何時忘了,這個事件必須記錄下來,以警惕自身。

微軟 JavaScript 的線上手冊

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[Edge] Windows Update 後 IE 捷徑自動更新為 Edge


公司在 2012 年導入鼎新的 ERP ,當時的電子簽核 Easyflow 是使用 ActiveX 寫的,還綁在 IE (Internet Explorer) 上,公司打算完成上櫃後再更新 ERP ,避免會計流程變更影響上櫃重新審查。

IE 被各大公司拋棄是不爭的事實,也沒打算替他平反,平常同事都使用其他瀏覽器上網,但是上電子簽核,還是得用 IE ,因此 IT 幫同事設定電腦時,會在 Win10 下方的開始工具列釘選 IE ,並且把 Easyflow 的捷徑,從 IE 網址列拖到桌面,以便方便使用 IE 開啟電子簽核。

不知道是哪個 Windows Update 搞的鬼,二月有零星個案,三月有十幾個個案,都是開始工具列、桌面捷徑全部被改為 Edge 。

開啟桌面捷徑的內容,其連結已經被改變,所以不管怎樣操作,都會先開 IE 再自動轉 Edge ,很難搞。

比較簡單的做法:

用檔案總管開啟以下位置檔案:C:\Program Files\Internet Explorer\iexplore.exe

等到 IE 開啟後,重新釘選到開始工具列,並且連上公司電子簽核後,就可以重新使用 IE 了。

我另外調整了瀏覽器設定再繼續觀察。

Edge 與 IE 預設行為

Edge 與 IE 預設行為

Categories: 工作點滴, 技術分享 | 標籤: | 3 則迴響

[IE11] 透過設定信任網站簡單讓 IE11 恢復 VBScript 支援


我從 1998 開始寫 ASP 動態網頁,那時瀏覽器是 IE 的天下,我個人又是 Basic 的信徒,所以當時 client script 我都堅持使用 VBScript ,但是隨著時代轉變,VBScript 已被淘汰,更嚴重的是 IE11 居然不支援了…

在 2019/08 的新聞中有寫

預設關閉 Win7/8/10 IE11 的 VBScript
https://www.ithome.com.tw/news/132294

所以得到微軟網站查詢設定。

啟用/停用 IE11 VBScript 設定
https://support.microsoft.com/en-us/help/4012494/option-to-disable-vbscript-execution-in-internet-explorer-for-internet

可以透過 GPO (gpedit.msc) 或 regedit 兩種方式設定,機碼是動這個:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones[代碼]\140C

改成 3 停用 VBScript 支援
改成 0 啟用 VBScript 支援

針對上篇更多的 IE 安全性設定可參考下面網址:
https://support.microsoft.com/en-us/help/182569/internet-explorer-security-zones-registry-entries-for-advanced-users

例如:

代碼 範圍

0 我的電腦
1 近端內部網路
2 信任的網站
3 網際網路
4 限制的網站

雖然有描述 1001 ~ 270C 的意義,不過關於 140C 的部分沒有描述。

我自己簡單測試設定方式,目前仍然可以不用管上面的機碼,主要是下面兩項:

  1. 設定信任網站 (重點)
  2. 設定相容網站 (在網頁 meta 強制指定相容網頁,例如 IE6 亦可)

Categories: 工作點滴, 技術分享 | 標籤: | 1 則迴響

[H5] 讓 Internet Explorer / WebBowser Control 支援 SVG 內的走馬燈


IE 支援 HTML5 不完整是已知的事實,對 IE 的抱怨就不多說了,直接談問題吧。

因為考慮到行動裝置縮放問題及智慧電視展示,在開發長時間展示畫面因為不確定將會在 Full HD 的電視顯示、電腦或是行動裝置,因此透過 HTML5 + SVG 算是比較通用的方案,IE / WebBowser Control 也能有不錯的支援。

由於有縮放問題,所以傳統 HTML4 的 marquee 就不太適合。

配合 SVG 的語法,嵌入走馬燈可以選用 animate:

<svg x='3' y='712' width='1366' height='36'>
   <animate TARGETELEMENT='ID名稱' xlink:href='#ID名稱' attributeName="x" from="1366" to="-2000" dur="30s" repeatCount="indefinite" />
   <text x='0%' y='70%' fill='white' id='ID名稱'>走馬燈或跑馬燈的文字</text>
</svg>

但是很冏,Internet Explorer / WebBowser Control 不支援,從微軟網站可以找到程式碼透過 Script 跑,所以算是客製化,針對每個 ID 都要自己寫。

為了節省時間,可以到這個網站下載已開發好的套件,官方首頁為:https://leunen.me/fakesmile/

從 Source Code 下載 smil.user.js ,再於 head 區引入即可。

<head>
   <script type="text/javascript" src="smil.user.js"></script>
</head>

不會妨礙 Chrome 或行動裝置相容。

當然比較起來,Chrome 跑起來比較順,IE 跑起來就比較閃爍了。

Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

[Skype] 不要安裝 Skype 內建的 Click to call 元件


最近在論壇上看到多篇 Office (Word / Excel / PowerPoint / Outlook) 複製、貼上異常的問題,通常是在網頁開啟下,編輯 Office 文件時就會發作,所以解決方案有二:

1. 網頁停用此元件,例如 Internet Explorer (IE) 利用管理附加元件停用。

2. 直接從新增移除程式那邊移除。

這個功能是當網頁上出現電話時,自動幫你修改網頁,讓你可以點選該電話就用 Skype 打電話,早先 Skype 5.5 以前版本並不會造成 Office 異常,最多造成 IE 沒事猛當,不知道是微軟買下來的 Skype 5.8 以後版本,還是 Office 安全性更新造成,近日很多人都發生類似問題,造成 Office 操作不正常,包含移動段落也是一樣。

由於這個功能用處不大,我是建議用方案 2 直接移除此功能。

先前版本這個功能好像是直接安裝進 Windows 內,Skype 5.8 / 5.9 都會有對話盒詢問,中文版畫面如下,安裝時記得別勾,如果勾了,就用方案 2 移除他吧~

想知道災情多嚴重嗎?Google 一下,有 120 萬篇文章~

 

如果你不幸已經安裝,透過控制台,程式功能移除它吧~

Categories: 工作點滴, 更新與回報 | 標籤: | 8 則迴響

在WordPress.com寫網誌.