URLエンコード/デコード、HTMLエンティティエンコード/デコードを行うとき便利なフォームを作成しました。 PHP+jQueryで実装されており、このファイルをPHPの動くWebサーバーに置けばすぐに使えます。
できること
- URLエンコード/デコード
- HTMLエンティティエンコード/デコード
- PHPの配列のシリアライズ/アンシリアライズ
必要な環境
- PHPの動作するWebサーバー
LightBoxのように、リンクをクリックするとアクションが発生するスクリプトは数多く存在します。 任意の場所をクリックした時にそのアクションを起動したい場合は、jQueryのclick()メソッドを使うと簡単に実現できます。
classが”uso”のaリンクをクリックした時に “a#mojamoja” をクリックした時のアクション起動したい場合は、下記のように書けます。
$(function() {
$("a.uso").click(function(e) {
e.preventDefault();
$("a#mojamoja").eq(0).click();
});
});
FirebugやChromeのスクリプト入力ボックスに下記のコードを書き込むと、button#usoを永遠に毎秒10回叩き続けます。
setInterval(function() {$("button#uso").eq(0).click();}, 100);
「どうしてもボタンが連打したい。でも指が折れて動かせない…。」という名人にお勧めです。
遅ればせながら、HTML5の勉強を始めました。divタグだらけの(X)HTMLに比べ、意味のあるタグで構成できるようになり、可読性が上がっています。願わくばHTML5の普及後、クロスブラウザ対策という雑用から解放されますように。
さしあたり、HTML5でページを作るときの最小構成をメモしておきます。The W3C Markup Validation Serviceで問題ないことを確認しています。
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="description" content="HTML5 Tamplate" />
<meta name="keywords" content="HTML,HTML5,template" />
<link rel="stylesheet" href="sample.css" type="text/css" media="all">
<link href="favicon.png" rel="icon" type="image/png">
<link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">
<title>html 5 sample</title>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<header>header</header>
<nav>nav</nav>
<section>
<article>
<header>
<h1>Heading 1 of article #1</h1>
</header>
<section>
<p>paragraph 1</p>
</section>
</article>
</section>
<footer>footer</footer>
</body>
</html>
//AutoLogin.js
import Poderosa;
import Poderosa.ConnectionParam;
import Poderosa.Terminal;
import Poderosa.Macro;
import Poderosa.View;
import System.Drawing;
import System.Threading;
var vars = new Object();
// telnetの場合
connect("ホスト名", ConnectionMethod.Telnet, 23, EncodingType.UTF8, "ログインID", "ログインPW");
// SSHの場合
//connect("ssh-host", ConnectionMethod.SSH2, 22, EncodingType.EUC_JP, "ログインID", "ログインPW");
function connect(host, method, port, encoding, id, password) {
vars.env = new Environment();
if (method == ConnectionMethod.Telnet) {
vars.param = new TelnetTerminalParam(host);
} else {
vars.param = new SSHTerminalParam(method, host, id, password);
}
vars.param.Port = port;
vars.param.Encoding = encoding;
vars.connection = vars.env.Connections.Open(vars.param);
if (method == ConnectionMethod.Telnet) {
wait("login: ");
sendln(id);
wait("Password: ");
sendln(password);
}
}
function sendln(s) {
vars.connection.TransmitLn(s);
}
function wait(s) {
Thread.Sleep(10);
var r = vars.connection.ReceiveData();
while(r.indexOf(s) == -1) {
Thread.Sleep(10);
r += vars.connection.ReceiveData();
}
}
JavaScriptにおいて、「<」「>」は基本的にダメ文字(使用不可)だが、jQueryのセレクタ内で使用すると選択できたりできなかったりすることがある。
そもそも、XHTMLの仕様では「<」「>」は属性値に使ってはいけない。
たまに仕様で許可されてない記号も使えるが、そうしたものが選択できるのはブラウザ依存の偶然でしかない。
こういう文字を使うときは、別の文字に置換でもしないとダメ。例えばDOMロード後に全角の「<」「>」に置換するとか。
Selector problem: $('#\<foo') and $('#bar\>') works, but $('#\<buz\>') doesn't. – jQuery Forum
/*
* 画像の実際のサイズを取得する
*
* @param string image img要素
*/
function getActualDimension(image) {
var run, mem, w, h, key = "actual";
// for Firefox, Safari, Google Chrome
if ("naturalWidth" in image) {
return {width: image.naturalWidth, height: image.naturalHeight};
}
if ("src" in image) { // HTMLImageElement
if (image[key] && image[key].src === image.src) {return image[key];}
if (document.uniqueID) { // for IE
w = $(image).css("width");
h = $(image).css("height");
} else { // for Opera and Other
mem = {w: image.width, h: image.height}; // keep current style
$(this).removeAttr("width").removeAttr("height").css({width:"", height:""}); // Remove attributes in case img-element has set width and height (for webkit browsers)
w = image.width;
h = image.height;
image.width = mem.w; // restore
image.height = mem.h;
}
return image[key] = {width: w, height: h, src: image.src}; // bond
}
// HTMLCanvasElement
return {width: image.width, height: image.height};
}
最近のコメント