たぼさんの部屋

いちょぼとのんびり

2014-03-01から1ヶ月間の記事一覧

WRONG_DOCUMENT_ERR(android標準ブラウザで)

このエラーはnewElementと追加する要素が所属するdocumentが一致しないときに発生するエラーです。 ブラウザの実装によって動作が異なります。 pc版のブラウザや、android:firefoxですと、appendChildでも動作します。 android標準ブラウザではエラーが発生…

え?そうなの 、getComputedStyle()

getElementById().styleで得られるスタイルシートの情報は、要素のインラインで設定されているもののみだそうです。 ブラウザ上で適用されているスタイルを呼び出したい場合は、getComputedStyle()(読み取り専用)を使います。

外部JS(分離したクラスファイル)をxhrで読み込む

point xhrで読み込むときに同期処理でよみこむこと responseText にクラス名を添付すること 具体的には 外部クラスファイル(Test.js) var Test = function(){ "use strict"; this.name = "ぼくの名前はtestだよ"; }; Test.prototype={ getName:function(){…

style.setProperty()を使えば、追加できる

今までは obj.setAttribute('style','property'); と書いていたが これだと、複数回実行すると上書きされてしまう。で、 obj.style.setProperty() ならok 例:No return. Example: styleObj.setProperty('color', 'red', 'important')https://developer.mozi…

apply,callの呼び出しパターン

こういうことになる。 var myObject = { add: function(value1, value2) { console.log(this.value + value1 + value2); } }; var yourObject = { value: 3 }; myObject.add.apply(yourObject, [2, 10]); // 15 myObject.add.call(yourObject, 2, 10); // 15

viewportのminimum-scale=1.0の記述必須

minimum-scaleを指定しておかないと 縮小されたときにコンテンツがくずれる& PCサイトの表示に移行してしまうことがある(縮小からのリロード時) <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"/></meta>

ver5導入部(javascript禁止と複数回起動対策済み)

html側からconsole.logすると function (){ if(c) new _m(); c=_f; } とだけ見える。 導入部内容

アプリケーションキャッシュ manifest.php

キャッシュするディレクトリを指定したもの 指定ディレクトリは EFOLAB_ver5

iphone用文字ちょうせい 

-webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -o-text-size-adjust: 100%; text-size-adjust: 100%;

css.addRuleで物理的cssシートの値を変更・追加

function addCSSRule(selector, css) { var sheets = document.styleSheets, sheet = sheets[sheets.length - 1]; if(sheet.insertRule) { sheet.insertRule(selector + '{' + css + '}', sheet.cssRules.length); }else if(sheet.addRule) { sheet.addRule(…

jsで:before :after疑似要素にアクセスする

cssで:before, :after疑似セレクタを使うと、そのオブジェクトの前後に要素を作成できます。その要素はDOM上に存在するわけじゃないので、じゃあどうやってjavascriptでアクセスするの?っていう話。実は疑似要素にはattr()なんて機能があって、下のgist cod…

背景画像のサイズ可変にして、h1,pを下に隠す

これいいよ! html部分 <section id="main-visual2"> <h1>選ばれる理由はこの3つ</h1> <p class="text1">大阪結婚相談所ヴィーノには選ばれる理由があります。 会員数述べ67216名(関西21587名) お見合い率99.1%(3ヶ月以内) 交際率91.5%(三ヶ月以内) </p> </section> css #main-visual2 { /** * 子要素をposition:absolu…

3/19現在のtop.css

img { width: 100%; height: initial; } #main-visual2 { padding: 10px; background-position-x: 0px; background-image: url(images/main-visual2.gif); background-repeat: no-repeat; /*background-size:cover;*/ -moz-background-size: 100% auto; back…

ver4導入部

<link rel="stylesheet" href="EFOLAB_ver4/initial.css" class="EFOLAB_class"/> <meta name="viewport" content="width=device-width,user-scalable=no"/> <script src="EFOLAB_ver4/smart.js" class="EFOLAB_class"></script> </meta></link>

EFOLAB_simple

既存のコンテンツコンテナを最大限利用するパターン /** * このプログラムは、既存コンテンツをそのままでレスポンシブルのレイアウトに変更するものです。 * 従来のver3.6とは目的が違います. */ ( function() {"use strict"; var TESTFLAG = true; //var …

スマホ対応の画面サイズ:767px

以下のように代表的なデバイスの画面サイズ。iPad/iPad2/iPadminiの画面サイズが 768pxであることから これ、未満の場合にスマホ対応とする。

スクロールイベント

参考サイト Android OS(標準ブラウザ)では、スクロールの終了という契機を自動的に取得することができません。 そのため、iOS(Safari)と動作を統一させるには、 自身でスクロールイベントをカスタマイズする必要が出てきます。 その一例をご紹介します。 ■…

javascriptでメディアクエリを実行

javascript window.matchMedia || (window.matchMedia = function() {"use strict"; // For browsers that support matchMedium api such as IE 9 and webkit var styleMedia = (window.styleMedia || window.media); // For those that don't support match…

webfontの配置方法

例として花園フォントの場合 ただ、ファイルサイズが20mbと大きいので、スマホでは使えませんね。 ブラウザによって違うファイル形式を用意しないとだめなことも問題です。 ttfだと、chrome等使えません. /** * [webフォントの導入の方法] * ダウンロードし…

ver3.6

main.js /**ver 3.6 3/13 * * サイドメニューを固定した内容でセットするように変更する必要があります。(サブメニューがないコンテンツに対応するため) * SUBMENU_JSONを追記しました。 * Page.prototype.createAndAppendSideMenuを追記しました。このメ…

operaminiかどうかの判定

//operaminiかどうかを検査。operaminiならtrueを返す。 var isOperamini = function() { var bool = false; if ( typeof operamini !== 'undefined') { if (operamini) { bool = true; } } return bool; };

android標準ブラウザの問題解決:ver3_4 ajaxで取得したコンテンツをコンテナにセットするとこでouterHTML

初期アクセス 既存コンテンツをコンテナに流し込むとこ ここは問題なく動作している。 //fragmentを生成して、既存のコンテンツを必要な部分のみfragmentに移動します。 var mainFragment = document.createDocumentFragment(); mainFragment.appendChild(do…

appendメソッドが完了しているかどうかdummy imageで確認

1*1pixelのダミーgifを用意しておき 以下のようにappend。 その前のappendも含めて終了しているかどうかを確認する イベントリスナloadを使う。 var img = document.createElement('img'); img.addEventListener('load',function(){console.log('load');},fa…

event.preventDefault()をセットしても、既存のスクリプトは動作するのか?

以下のように記述をしてみて、動作しているので大丈夫です。 <li class="navi02"><a href="guide/price.html" onclick="javascript:alert('料金プラン');">料金プラン</a></li>

iframeに動的にコンテンツを流し込む

var iframe = document.createElement('IFRAME'); document.getElementById('blog_test').appendChild(iframe); var doc = frames[frames.length - 1].document; doc.open(); doc.write('<p id = "hello">Hello!</p>'); doc.close(); 取得するには var elm = iframe.contentDocum…

便利 console.trace()

objectがどこからcallされたか? console.trace(); 経過時間を取得 console.time('name'); //処理 console.timeEnd('name'); <||

framework ver2.1

初期フレームの生成まで /*jslint nomen: true*/ ( function() {"use strict"; var pages = []; /* * あらかじめセットしておくCSSファイルのclass名 */ var CSSCLASSNAME = "EFOLABclass"; var NEWCONTENT = { "/" : { } }; /** * コンテナを生成するクラス…

documentを文字列に変換

new XMLSerializer().serializeToString(document)

json使い方:簡単例

var json={ "hoge":{ "val":"hoge_val", "option":"hoge_op" }, "kamo":{ "val":"kamo_val", "option":"kamo_op" } }; var serch = "kamo"; if(json[serch]){ console.log(json[serch].val); }

JSLintで_のアラートを出さなくする

以下のコメントをjavascriptへ /*jslint nomen: true*/ スクリプト記述部