Posts Tagged With: vbscript

[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: 工作點滴, 技術分享 | 標籤: | 發表留言

關於 水文統計 – 線上分析 網頁


說實在的,我自己沒在用,所以從當練功在 2002 年寫好後,基本上沒啥改。

而我自己在 2005 就算是離開水利界了,有興趣的可以在這個網誌上翻到過去發生的事,所以,要不是有人問我不見一事,其實我根本忘了這個網頁。哈~~~

昨天收到有人透過 FB Messenger / 網誌線上留言給我,還說願意付費買,才知道還有人用。

先說找不到的狀況吧。

免費網域 twbbs.org 歷經 18 年終於停止服務,所以我另外申請新的免費網域,所以原先所有 tlcheng.twbbs.org 的全部改為 www.tlcheng.tk

水文統計線上分析的網址就變為:
http://www.tlcheng.tk/Tools/stat/Stat.asp

其次,這個網頁是在 2002 年寫的,那個年代只有 IE5 ,到現在都過了 16 年了,所以對新版相容度不夠,所以請改用桌面版的 IE 來瀏覽,最新版本的 IE11@Win7/8/8.1/10 仍然可以使用,但動態磚版本的 IE/Edge 或是 HTML5 瀏覽器 Chrome/FireFox 等就不能用。

因為早先這個網頁是基於推廣 VB 而採用 VBScript 寫的。

下面畫面是使用 IE11@Win2012r2 跑的。

使用 IE11 瀏覽水文統計線上分析網頁

使用 IE11 瀏覽水文統計線上分析網頁

我在這個網頁有加模擬 IE6 ,因此使用 IE 瀏覽時,不要在框架下用,直接瀏覽這個位置,才會啟用模擬功能,否則新版 IE11 會因為預設禁用 VBScript 而不能正常執行。

回歸曲線圖

回歸曲線圖

既然仍有人用,我今年會抽點時間改用 ASP.NET + JavaScript 改寫新版,這樣就能用 Chrome 開,自然也可以用行動裝置開了。

如果有建議可以在下面留言,我規畫時一併納入,如果希望加入不同機率分布函數,公式要需求的人提供,我沒時間做文獻回顧,所以有功能需求的請把資料整理給我。

其實我不太滿意當時的作法,不過一時之間也沒其他想法,可能就直接重寫,不動架構吧。

Categories: 嗜好, 決策支援系統 | 標籤: | 4 則迴響

[VSCode] 輕巧的程式碼編輯器


我一直在找一個類似 VBA 環境的 javascript 開發環境,最好是輕巧一點,大部分的環境都搞得很複雜,我只想簡單測試一個 function ,結果得搞到變成一個方案,並透過編譯或轉譯再由其他環境執行。

我自己有在公司的軟體中掛入 VBScript 支援功能,也就是直接呼叫 Script Control ,當然同一個引擎也可以跑 javascript ,理論上,自己寫個 WinForm 包 Script Control 就結束的,但是在編輯環境上會花很多時間,所以最好能找現成的。簡易型的我做成網頁跑:
http://www.tlcheng.tk/TLCheng/Basic/vbs/IDE/Runner.htm
支援 vbscript/javascript ,要用 IE 相容模式跑。

最近逛到 Code Runner 可以直接跑~
Code Runner: https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner

看了一下,是 Visual Studio Code(VSCode) 外掛套件~
Visual Studio Code: https://code.visualstudio.com/

說實在的,已經有 Visual Studio 2015 Ent. 下,覺得不需要再裝 VSCode ,VSCode 支援 Windows/iOS/Linux ,本來以為是跨 OS 才會想要玩的,但是實在很想測 Code Runner ,又看到 VSCode 有免安裝版,50MB 下載解壓縮就能執行,心動之下就抓下來玩了:
https://code.visualstudio.com/docs/?dv=winzip

執行以後,安裝了兩個擴充套件,Code Runner 及 mssql 。

第一次開啟
第一次開啟

Code Runner 說經過設定,可以讓你在 VSCode 下直接跑以下語言:
C, C++, Java, JavaScript, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, C# Script, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, 及自訂命令

貼一段過去寫好的 javascript,依據 Code Runner 網頁的範例跑,可以直接測試 javascript:

執行 javascript
執行 javascript

再貼一段過去寫好的 vbscript,測試一下,也可以正常跑:

執行 vbscript
執行 vbscript

javascript 看起來應該是 VSCode 本身就支援,vbscript 則自動呼叫 cscript 編譯執行,結果畫面:

回傳 vbscript 執行結果
回傳 vbscript 執行結果

VSCode 的特色就是超快,自從 VS2013 起,外掛套件一多,開啟速度就慢到不行,安裝 VS2015 時,只裝不到 10 個套件,也是慢到不行,開機後第一次執行大概要 3 分鐘才能進到 VS2015 ,所以忽然發現,VSCode 可以當作平常簡易開發 html / javascript / asp.net 原始碼的環境,因為免安裝,還可以丟到 Embedded OS 內跑。玩玩 Code Runner 忽然發現,還可以連 SQL Server ,想到 SSMS 也越來越慢,簡直是測試 T-SQL 利器。 (需安裝 mssql)

在 VSCode 開啟 .sql 的檔案,會自動載入 mssql 套件環境:

自動載入 mssql 套件環境
自動載入 mssql 套件環境

滑鼠右鍵選執行查詢:

執行查詢
執行查詢

第一次使用須建立連線:

建立連線
建立連線

輸入 server 資訊:

server
server

輸入資料庫:

資料庫
資料庫

選擇驗證方式並輸入驗證資訊:

驗證方式
驗證方式

完成建立連線:

完成建立連線
完成建立連線

第二次使用 (指重開 VSCode) 直接選擇已建立的連線:

選擇已建立的連線
選擇已建立的連線

直接就可以顯示 查詢結果。

查詢結果
查詢結果

VSCode 免安裝真的很方便,速度又快,只是要看原始碼的話,或是簡單開發,完全可以參考使用阿~~~

Categories: 電腦和網際網路, 工作點滴, 技術分享 | 標籤: | 1 則迴響

[CSS] 修改共用樣式快速替換字型大小


其實這是一個自作孽的故事。

我以前都用 vbscript 寫網頁,一方面以前是 IE 的天下,一方面我立志成為 BASIC 的推廣者,所以對於 vbscript 的強迫中獎,不遺餘力。

我先前有網頁會偵測視窗大小,自動調整字型大小,但是受迫於大環境下,不得不 javascript 化。

對於一個已經製作完成的網頁,樣式通常都設定在裡面,所以改既存樣式是比較省事的方法,也能取得樣式變化的一致性。

在變更樣式的過程中,我寫了個函數,引數是 樣式ID,跟 Class 名:
GetStyleObject(cssIdName, styleName)

例如:
<link type="text/css" rel=’Stylesheet’ href="CssFile.css" id="cssIdName" />
<span class="styleName">樣式名</span>
而在 vbscript 的部分使用下面程式碼可正常縮放字型:
GetStyleObject(“cssStationText", “.DataTime").fontsize = 32 * scaleZoom & “pt"

在 javascript 的部分使用下面程式碼,則字型不會縮放:
GetStyleObject(“cssStationText", “.DataTime").fontsize = 32 * scaleZoom + “pt";

最後追蹤發現問題的原因是 vbscript 大小寫意義相同,而 javascript 大小寫意義不同,所以 fontSize 的 S 要大寫,沒有注意到…

所以這是一個自作孽的故事。

好,下面就用最簡單的範例來分別貼出 vbscript / javascript 的程式碼吧。


vbscript
   Function GetStyleObject(Byval cssIdName, Byval styleName)
      With document.styleSheets
         For i = 0 To .length - 1
            If .item(i).id = cssIdName Then
               Set objstyleSheet = .item(i)
               Exit For
            End If
         Next
      End With

      With objstyleSheet.rules
         For i = 0 To .length - 1
            If .item(i).selectorText = styleName Then
               Set GetStyleObject = .item(i).style
               Exit For
            End If
         Next
      End With
   End Function

   Sub window_onresize()
      scaleZoom = document.body.clientWidth / 1366
      GetStyleObject("cssStationText", ".DataTime").fontsize = 32 * scaleZoom & "pt"
   End sub
 

javascript
   function GetStyleObject(cssIdName, styleName) {
      var objStyle;
      var allStyles = document.styleSheets;
      for (i=0; i<allStyles.length; i++){
         if(allStyles[i].id == cssIdName) {
            objStyle = allStyles[i];
            break;
         }
      }

      for (i=0; i<objStyle.rules.length; i++){
         if (objStyle.rules[i].selectorText == styleName) {
            return (objStyle.rules[i].style);
         }
      }
   }

   function window_onresize(){
      var scaleZoom = document.body.clientWidth / 1366;
      GetStyleObject("cssStationText", ".DataTime").fontSize = 32 * scaleZoom + "pt";
   }
Categories: 工作點滴, 技術分享 | 標籤: | 發表留言

在WordPress.com寫網誌.

%d 位部落客按了讚: