スポンサーリンク

ブラウザ

今から3分で,Chromeブラウザの独自アドオンを自作してみよう (jQueryを使ったクローム拡張機能を,開発および動作テストする入門)

今から3分で,Chromeブラウザのアドオン(拡張機能)を作ろう。 ここで作るのは,「表示したWebページの内容をjQueryで加工する」というChromeプラグインだ。アドオン自作の入門,初歩の第一歩にうってつけ。 作成に必要なツールは,なんとメモ帳だけ。Java…

Webページの「コピペ禁止」を解除・回避するJavaScriptコード。スクリプト有効のまま,ブラウザ上で右クリック・テキスト選択の禁止タグを迂回する

Webページ上で,「コピペ禁止」を解除するJavaScriptコード。 ブラウザ上で,マウスで文章を選択して,右クリック→コピー という操作は,HTML側で禁止できる。Webサイトの内容が, コピペで無断転載されるのを防ぐためだ。 しかし,その禁止をかいくぐる方法…

JavaScriptの動かないコード(中級編)Aタグがリンクとして機能しないエラー (URL・hrefの%エンコードがRFC違反だと,IEで例外が発生)

連載目次へ 以下のJavaScriptコード(というよりHTMLそのもの)が意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: HTML上で,Aタグによりリンクを表示する。 そのリンクのURLを, JavaScriptから取得する。 <a href="http://google.com/?q=%" id="a1">ブラウザは, このHTMLリン</a>…

ブラウザのシェアを,3つの情報源で比較してみる。 (1) StatCounter (2) Net Applications (3) このブログ

日本国内と世界全体の,Webブラウザのシェアの情報源について。 XPサポート切れとIEの脆弱性が騒がれて1ヶ月が経つ。IE離れは加速しているか? 最新の3つの情報源を比較し,現在のブラウザのシェアを確認してみよう。 (1) StatCounterによる情報(30…

Windows XP等の,IE脆弱性の攻撃方法「ヒープ・スプレー」と「Use After Free」を,HTMLサンプルコードで理解しよう

HTMLとJavaScriptで,IEの脆弱性を攻撃できる。 (※具体的なサンプルコードも本記事に掲載) それが「Use After Free」および「ヒープスプレー」。 ちょうど2014年4月にWindows XPのサポート終了後すぐ,この脆弱性を攻撃するウィルスが発見され,大騒…

Youtubeの動画playlistのリンク集を,Firebugワンライナーで生成しよう(consoleからXPATHでスクレイピング)

Firebugのコンソールを使って,Webページの情報を加工してみよう。 HTMLの中から,特定のclassを持ったDOM要素だけを抽出 という処理をしてみる。 こういう単一ページ内でのWebスクレイピングは,簡易なブックマークレットでも可能。 だが,もしfirefoxを使…

タブブラウザで,「開いている大量のタブ」をテキストで保存し,復元する方法

まず,開いている全タブを保存するために,下記のFirefoxアドオンを使う。 開いている全タブのURLとタイトルを,列挙して抽出するFirefoxアドオン (XUL形式プラグインのソースコード付) http://language-and-engineering.hatenablog.jp/entry/20121221/p1 …

「全タブを要約するアドオン」を改良。ページ内の選択部分を要約に反映。ブコメも自動収集

下記のアドオンを改良した。 開いている全タブのURLとタイトルを,列挙して抽出するFirefoxアドオン (XUL形式プラグインのソースコード付) http://language-and-engineering.hatenablog.jp/entry/20121221/p1 改良点: 各ページ内で選択範囲があれば,その…

Excelで,表データを「要約」した円グラフを作成する方法 …SUMIF関数のワイルドカードにINDIRECT(ADDRESS(ROW()))して,情報をまとめる

下記は,2013年になってから今(9月)までの,本ブログ訪問者の利用ブラウザ。 集計データをブラウザの種類ごとに要約して,円グラフにしてある。 この元データは,下記のように,ブラウザのバージョン情報まで含まれている。これだと,情報が細かすぎるので,…

手放せない,便利なブックマークレットのコレクション (翻訳やWeb開発など)

JavaScriptプログラミングのTOPへ 個人的に愛用している,便利なブックマークレットを精選・集約した。

開いている全タブのURLとタイトルを,列挙して抽出するFirefoxアドオン (XUL形式プラグインのソースコード付)

注:このアドオンには,改良版があります。 「全タブを要約するアドオン」を改良。ページ内の選択部分を要約に反映 http://language-and-engineering.hatenablog.jp/entry/20140117/p1 全タブの「リンク集」を自動生成するアドオン。 ネットで調べ物をしてい…

CSSの動かないコード(中級編) Windowsのデスクトップテーマが「XP」の時,ボタンに背景画像を表示したい

クイズ… 下記の HTML+CSS が,意図した通りに表示されないのはどうしてですか。(制限時間1分) やりたい事: ボタンの背景に,画像を表示したい。 <style> input { /* ボタンの背景に画像を表示する */ background-image : url(fuga.PNG); /* 背景画像は繰り返さ</style>…

IEを自動操作する時,IEのバージョンを判定したい (WSH JScriptで,IE7とIE8の違いを自動認識する)

バッチのまとめTOPへ IEを自動操作するスクリプトを書いていると, IE7 IE8 の挙動の違いにぶつかる。例えば,フォームにファイルをアップロードする場合など。(サンプルを後述する。) こういうとき,スクリプトの側でIEのバージョンを判別して,バージョ…

バッチで,リファラを改ざんし,ユーザエージェントを改ざんし,POSTリクエストを自動発行しよう (HTTPリクエストヘッダを自由に生成)

バッチのまとめTOPへ Webアプリケーションのセキュリティチェックや自動テストを行なうために,WebサーバやAPサーバに対して,「任意のHTTPリクエスト」を手軽に発行したい。 「任意のHTTPリクエスト」とは,例えば・・・ リファラ(リンク元)改ざん ⇒画面…

IE8で,ファイルのアップロードを自動化する方法  (WSH/JScriptでブラウザを自動操作するサンプルコード)

バッチのまとめTOPへ IE8で,ファイルのアップロードを自動化する方法を発見した。 以下はWSH/JScriptによるサンプルスクリプト。IE8(Windows XP)で動作確認済み。 upload.js // IEを起動 var ie = WScript.CreateObject("InternetExplorer.Application");…

ブラウザ上で,Officeのヘルプキャラクターを動かしてみよう (IE上でJavaScriptからMS Agentを呼び出す方法)

JavaScriptプログラミングのTOPへ Officeのヘルプキャラクタ(例えば「マーリン」とか,「カイル君」とか,「冴子先生」)を,ブラウザのHTML上で表示する。IE上だけでなく,WSHでバッチとしてデスクトップで呼び出す事も可能。 サンプル(IEで閲覧) http:/…

コマンドプロンプトを,Webブラウザとして使おう (WSH・JScriptでXmlHttpRequest)

バッチのまとめTOPへ コマンドプロンプトを,Webブラウザとして使う。 バッチファイルから WebサイトにGETリクエストを発行し, Webサイトが返すレスポンスに,最低限の「レンダリング」を施す。 という事を行なう。

IEを自動操作する時,ダイアログやポップアップをどう扱うか(ファイルアップロードやアラートのダイアログを処理する方法)

バッチのまとめTOPへ WSH JScriptでIE(IE7)を自動操作して ファイルをアップロードする(ファイル参照フィールドに入力する)。 ただし,ファイル参照ダイアログを避けて通る。 promptとかalertなどの厄介なダイアログに応答する。 方法。 おまけとして,S…

ブラウザ上でVB.NETのコードを動かす (IE上で.NETアプリケーションをホストする方法の続き)

以下の記事では,IE上で,C#のDLLを動かす方法を述べた。 今から3分で,IE 上で .NET のDLLを動かそう (ブラウザ上で C# のコードを動かす方法) http://language-and-engineering.hatenablog.jp/entry/20100705/p1 今回は,同じものをVB.NETでも作ってみ…

今から3分で,IE 上で .NET のDLLを動かそう (ブラウザ上で C# のコードを動かす方法)

今から3分で,Webページ上で,Microsoft .NET のコードを動かそう。JavaScriptにできない事も,.NETなら可能になる。 今回は,Windowsアプリ用のUI部品(カレンダー)を,Webページ上で使ってみる。 メモ帳さえあればよい。 Visual Studioは不要。 .NETの詳…

ブラウザのビジー状態を判定するための,より良い方法 (WSHでIEを自動操作する際,COMのアプリケーションイベントを利用する)

バッチのまとめTOPへ ActiveX経由でCreateObject("InternetExplorer.Application") などして,IEを自動操作する際,「ブラウザのビジー状態の解除の判定」は,正確にやろうとすると結構難しい。よくあるのは, (DOM操作)ブラウザ上で,submitボタンクリッ…

ブラウザの自動操作の最大の問題,「タイムアウト」を克服するには

ブラウザの自動化を妨害する最後の壁,それはタイムアウト。Webページのロード時に,ブラウザのビジー状態が解除されず,いつまでも次のステップに進めなくなってしまう現象のこと。 どんなツールを使っても,タイムアウトは必ず発生する。自動化ツールをた…

プロジェクト専用のDSLで,効率的にIEを自動操作する(WSH/JScript)

バッチのまとめTOPへ 以下のエントリでは,JScriptでブラウザのオートメーションを行なうための基礎を述べた。 JScript / VBScript (WSH)で,IEを自動操作しよう http://d.hatena.ne.jp/language_and_engineering/20090713/p1 その続編として,プロジェクト…

Prototype.js + Script.aculo.us のはまり所

もはやレガシー*1となりつつある,時代を作ったJavaScriptフレームワーク Prototype.js の盲点,注意点を書きためてゆく。 ※「JavaScriptの動かないコード(JavaScriptエラー集)」のprototype.js版,という位置づけである。ただしネタは多くない。 Download P…

IE AutoTester で,UIの回帰テストを完全自動化

テスト仕様を書けば,仕様書自身がテスト(ブラウザ操作)を自動でやってくれる。Excelのシート上に,下記のように記述する。 IE起動 開く http://www.yahoo.co.jp/ 存在判定 srchtxt 存在判定 srchbtn 入力 srchtxt hogeraccho クリックして待機 srchbtn が…

ブラウザの自動テスト中に,テスト結果をExcelに記録させる(UWSCでIEを自動操作するライブラリ 1.3)

バッチ・マクロのTOPへ 下記のライブラリを改良した。 ブラウザ上で,マウスのドラッグ&ドロップも自動化できるスクリプト(UWSCでIEを自動操作するライブラリ 1.2) http://d.hatena.ne.jp/language_and_engineering/20090826/p1この時あった機能: IE上で…

ブラウザ上で,マウスのドラッグ&ドロップも自動化できるスクリプト(UWSCでIEを自動操作するライブラリ 1.2)

バッチ・マクロのTOPへ ※これより新しいバージョンがリリースされています。 http://d.hatena.ne.jp/language_and_engineering/20090918/p1 下記のライブラリを改良した。 UWSCでIEを自動操作し,回帰テスト/JavaScript実行/ファイル保存 などができるライブ…

UWSCでIEを自動操作し,回帰テスト/JavaScript実行/ファイル保存 などができるライブラリ

バッチ・マクロのTOPへ ※これより新しいバージョンがリリースされています。 http://language-and-engineering.hatenablog.jp/entry/20090826/p1 下記の「IEを自動操作するライブラリ」の改良版ができた。 UWSCで,IEを自動操作するためのライブラリ (ファ…

UWSCで,IEを自動操作するためのライブラリ (ファイルアップロードも自動化できる)

バッチ・マクロのTOPへ ※これより新しいバージョンがリリースされています。 http://language-and-engineering.hatenablog.jp/entry/20090825/p1 Windows 自動化ソフトの「UWSC」で,IEを自動操作する。 SeleniumやVBAやWSHでの自動化と比べて,このUWSCの最…

JScript / VBScript (WSH)で,IEを自動操作しよう

バッチのまとめTOPへ JScript / VBScriptでも,IEを自動操作(オートメーション)できる。テキストファイルをダブルクリックするだけで,ブラウザが動く。 しかも,ブックマークレットを自動実行することもできる。つまり,表示中のWebページに対してJavaScr…