JavaScript

HTTPSのページからHTTPのリソースをXHRで取得する方法

出来ないかと思いましたが、Firefox 55.0.3で出来る方法がありました。 下記のサンプルはhttps://example.comで実行するとHello Worldと出ます。 (function (i) { var w = i.contentWindow; onmessage = function (e) { if (e.source === w) alert(e.data); …

IE8以前ではDOMのオブジェクトにhasOwnPropertyが無い

hasOwnProperty メソッド (Object) (JavaScript) 上記リンクの資料によるとこのプロパティは、Internet Explorer 8 およびそれ以前のホスト オブジェクトではサポートされません。と書いてあります。 ホストオブジェクトはDOMも含むのでwindow.hasOwnPropert…

いつの間にかjavascriptスキーム(疑似プロトコル)でstring以外書き出さなくなってる

前提条件 ブラウザFirefox 49.0.1SRWare Iron 51.0.2700.0SRWare Iron 53.0.2800.0 実験HTML <title>JavaScript URI return value test</title> <ul> <li><a href="javascript:'s'" target="a">string</a> <li><a href="javascript:0" target="a">number</a> <li><a href="javascript:null" target="a">null</a> <li><…</li></li></li></li></ul>

IE11のActiveXObjectはfunctionとして存在しているが!!window.ActiveXObjectがfalse

式 IE11での結果 typeof window.ActiveXObject "undefined" Boolean(window.ActiveXObject) false window.ActiveXObject == undefined true window.ActiveXObject === undefined false "ActiveXObject" in window true String(ActiveXObject) "function Acti…

if-elseで1文なんだね

C言語#include <stdio.h> int main() { int n = 2; while (n) if (n-- > 1) printf("a"); else printf("b"); printf("c"); return 0; } JavaScriptvar n = 2; while (n) if (n-- > 1) console.log("a"); else console.log("b"); console.log("c"); php 1) print "a"; </stdio.h>…

HTAでArray.prototype.slice.call(NodeList || HTMLCollection)が使えませんでした

配列のようなものを配列にする手法として[].slice.callがありますが、HTAでNodeListやHTMLCollectionに対して使えませんでした。 検証HTA<title>a</title> <body onload="alert([].slice.call(document.body.childNodes))"><p><p> 結果Array.prototype.slice: 'this'は JavaScript オブジェクトではありません。argumentsや{length:1,0:0}に対して</p></p></body>…

JavaScriptでgoto文みたいなことをする

無条件に指定のラベルに飛ぶ命令文をここではgoto文と呼ぶことにしますが、JavaScriptではgoto文がないので、goto文みたいなことが出来ないか調べました。 ループのラベルを利用した記法が見つかりましたが、どれも上に飛ぶか、下に飛ぶかのどちらかしか出来…

IEでelementを連続クリックするとonclickが起きないときがあるのはダブルクリック判定されているから

ダブルクリック判定されるとonclickが起きない代わりにondblclickが起きるようです。 IEのマウスイベントの挙動について | WIZ-CODE.blog

JavaScriptのみで任意の文字コードのURIエンコードを試みる

JavaScriptのみで任意の文字コードのURIエンコードを試みました。ecl.jsというものが既にあり、それを使用すれば問題ありませんが、別のアプローチで変換しようとしました。 結果として、IE(dataスキーム未対応ブラウザ)でdecodeできませんでした。以下のリ…

javascriptで、ある文字列中にある文字が何個含まれているか調べる方法

いろいろな方法が考えられたので、一番早い方法は何か調べてみることにしました。以下がそのテストコードです。Arrayの要素数は要調整です。 私の環境では一番上がよさそうということになりました。 var str = Array(100).join(Array(100).join("test") + "\…

ビットカウントの速さ

ビットカウントで、分割統治法と呼ばれるものと、テーブルを使ったものとではどちらが早いのかテストしてみました。以下JavaScriptでのコード function hammingWeight1(number) { number = (number & 0x55555555) + ((number >>> 1) & 0x55555555); number =…

「お題:フルパスから相対パスを求める」をjsでやってみた男

お題:フルパスから相対パスを求める - No Programming, No Life 説明 二つのフルパスを受け取り、一つ目のパスから二つ目のパスへの相対パスを返す関数を実装せよ。条件) ・パス区切り文字は / のみサポートする。 ・結果パスは カレントディレクトリを表…

「お題:文字列を先頭から見て同じところまで除去」をjsでやってみた男

お題:文字列を先頭から見て同じところまで除去 - No Programming, No Life お題の説明 複数の文字列を受け取り、受け取った文字列をそれぞれ先頭から見てゆき、すべてが同じ内容であれば除去した内容の文字列を返却する関数を書いて下さい。 ※関数の引数と…

しがない

Chromeでは上の要素に隠れた要素はonmouseoverが起きなかった ドラッグさせないためにonmousedownでreturn falseしたけどonclickは有効に作用した

JavaScriptでクワイン・マクラスキー法を実装した

ブール関数(論理式)の最簡形を求めるツール 一応i-mode2.0でも動きました。作ってる上で気づいたこと concat()で配列コピー reverseとsortは破壊的メソッド i-mode2.0でReadOnlyのinput要素はコピーもできない

i-mode2.0ではwindow.alertは定義されていても実際は使えない

脱腸しかけてからもう1週間がたちましたか 上記のエントリーでi-mode2.0ではalertが使えないということを書きましたが、久しぶりにi-mode2.0に対応するコードを書いていて、大事なことを書いてないことに気づきました。 alertは定義されてるけど使えないって…

IE6でTABLEのDOMを操作するときはTBODYもいれる

IE6ではテーブル要素の動的生成時にtbodyを生成しないとだめみたい 最近IE6を見放してたので気づきませんでしたが、テーブルをうまく生成できてなかったみたいです。 番組表とTruth Table Generatorを直しました。

jsで配列を初期化するときはnew Arrayのほうが早いのか

http://www.kanasansoft.com/weblab/2007/11/post_15.html 確かにあらかじめ確保しておいた方が速そうに思えるけど正直変わらないと思ってました。 2,3個ぐらいなら[]ってところですかね。

Array.push遅い

Array[Array.length]のほうがよかった2011-02-05追記Chromeだとpushのほうが早いらしい

javascriptのArray.pushの戻り値って配列の個数だったんですか

配列を返してくれそうな気がしてて少しはまってしまいました。

最近作ったもの

最近作ったものは、 アニメ番組表 n面サイコロ 命題論理の論理式計算ツール labsをちょこちょこ という感じです。アニメ番組表はインターネットTVガイドから関東周辺の情報を集めてフィルタつけただけって感じですかね。 n面サイコロは外で何かを決めかねて…

GREEの動画を保存するURI

javascript:(function(a,d,s,i){s+=a?'右クリックで保存':'見つかりませんでした';if(a)while(i<a.length)s+='<p><a href="http://gree.jp/?mode=profile&amp;act=look_album_photo_movie&amp;photo_id='+a[i++].slice(18,-1)+'&amp;type=.flv">'+i+'つ目の動画</a>';d.write(s);d.close();})(document.body.innerHTML.match(/movie\.swf\?photoId=…</a.length)s+='<p>

2枚以上の画像をコンポジット(加算平均)するツールをHTML5でつくった

HTML5のCanvasやFileAPIを知ったときは、うへえw超簡単に高機能アプリ作れんじゃんwwとか思っていましたが、C#で作るよりかかってしまいました。 細かいところでいろいろ調べたりしないといけないのでかかったんだと思います。 とりあえず実行速度はC#の…

HTML5で使えるFileReaderでファイルを読み込もうと思ったらChromeで失敗したけどhttpでアクセスしてなかったのが原因だった

ChromeでFileReaderを使おうとしたんですが、onerrorでerror.code=24が出ました。 24はファイルが読み込めなかったということですが、なぜそうなるのかわかるのに時間がかかってしまいました。 アップロードしてHTTPでアクセスしたら使えました。 ちなみにFi…

ニコニコ動画APIを使って得た動画情報(XML)をYahoo! Pipesを使ってJSONPにして取得してみるテスト

12月1日のエントリーで、JavaScriptだけでニコニコ動画の動画情報が取得できることを書きました。 活用方法が特に思いつかなかったのですが、どうしても使ってみたかったので、テストしてみました。下記のアドレスがそのテストページです。 http://ahotoke.c…

Google News Barを使ってみた

ウェブページに指定したテーマのニュースを表示したいという話があったので、じゃあやってみるかということになったのですが、最初は各ニュースサイトのRSSを持ってきてその中から検索…って考えてました。しかし、Google News Barなるものがあることが判明し…

ニコニコ動画のAPIに関する件

動画IDから動画情報をXMLで取得 http://ext.nicovideo.jp/api/getthumbinfo/動画ID 動画説明文からリンクを抽出 http://res.nimg.jp/js/mylist2.js のなかにあるformatRules参照 ニコニコ大百科に記事があるかどうかをJSONPで調べる http://api.nicodic.jp/e…

RSSリーダーをJavascriptで作る

Yahoo! PipesをRSS⇒JSONPの変換APIとして使う これであとはjsでごにょごにょすればいいんですね追記:Yahoo Pipesでごにょごにょできるんですね

ニュース系ブログで気になったリンクをクリックしてみたらまたリンク集だったときに目的のリンクを探してくれるブックマークレットというものをつくった

ニュース系ブログにはだいたいヘッドラインとかいって、他サイトの最新記事一覧が見えるようになっていて、そこから気になる記事をクリックしたりしますが、たまにそのリンク先が気になる記事を含むただのリンク集だったということがあります。そういうエン…

YouTubeとAmazonのURLを短縮する

久々にちょこっとプログラミングをしました。 YouTubeとAmazonのURLを短縮するのと、ログインせずにニコニコ動画を見るツールのブックマークレットを作りました。 正規表現は甘めです。 YouTubeとAmazonの短縮URLを表示するブックマークレット ログインせず…