投稿
Sony Xperia SP で ソフトバンクSIMの動作検証
機種固有情報(ユーザーエージェント)をチェックしており
SoftBankメール(Ver3.3/ソフトバンクモバイル株式会社)は
https://play.google.com/store/apps/details?id=jp.softbank.mb.mail
S!メール(MMS)のWi-Fi送受信に対応しており、
SoftBankメールの設定>送受信でWi-Fi接続設定をすることで
Wi-Fi接続環境であれば
モバイルデータ通信がOFFの状態でも
送受信は可能であった
Sony Xperia SP で イー・アクセス EMOBILE LTE SIMの動作検証
APN設定 モバイルルータGL01PのWAN設定em.stdプロファイルより APN: em.std ユーザ名: em パスワード: em 認証方式: PAP Mobile country code - Wikipedia, the free encyclopedia より MCC: 440 MNC: 00 他はそのままで大丈夫なようです ネット情報では APNタイプにdefault,supl,hipriを入れている方もいらっしゃいます |
関連記事
2013年秋、iPhone3Gを脱獄、iCloud と Google の設定 iOS4.2.1
Google/Gmail と Apple iCloud の同期設定
Google/Gmail - Microsoft Exchange(Google Sync)
メール/連絡先/カレンダーの同期設定
※1 Microsoft Exchange(Google Sync)でアカウントを登録すればメール・連絡先・カレンダーが同期できたサービスですが、2013年1月30日を最後に新規登録が終了になっています。2013年1月30日以前にMicrosoft Exchange(Google Sync)に登録済みのデバイスは引き続き利用できるとの事です
- iOS 端末での Google Sync の設定 - Google Apps ヘルプ
https://support.google.com/a/users/answer/138740?hl=ja - 複数のカレンダーを同期する場合
https://www.google.com/calendar/syncselect にアクセスして同期するカレンダーを選択し保存します
Google/Gmail - GMail(Gmail)
メール/カレンダーの同期設定
設定>メール/連絡先/カレンダー>アカウントを追加...>GMail
・名前:氏名
・アドレス:Google アカウントの完全なメール アドレス(@gmail.com以外でもOK)
・パスワード:Google アカウントのパスワード
・説明:表示されるアカウント名となります
次へ(アドレスに@gmail.comを登録していないとメールサーバーエラーが出ますがスルー)
・Gmaiメールを同期する場合はは、メールをオン
・カレンダーを同期する場合は、カレンダーをオン
保存
複数のカレンダーを同期する場合
https://www.google.com/calendar/syncselect にアクセスして同期するカレンダーを選択し保存します
Gmail - その他(手動設定/複数送信元アドレス登録可/アーカイブ可)
メールの同期設定
設定>メール/連絡先/カレンダー>アカウントを追加...>その他>メール:メールアカウントを追加
名前、アドレス、パスワード、説明を入力し次へ
IMAPを選択し
受信メールサーバーの設定
ホスト名:imap.gmail.com
送信メールサーバーの設定
ホスト名:smtp.gmail.com
次へ
登録が完了したアカウントに複数の送信元アカウントを設定している場合は、アカウントを開き、IMAPアカウント情報のアドレスに、設定しているメールアドレスをカンマ区切りで登録します。「メアドA, メアド B, メアド C」
アーカイブする場合、登録が完了したアカウント設定の詳細からメールボックスの特性の削除済みメールボックスの先をGmailサーバーの「すべてのメール」を指定します
Google/Gmail - CardDAV
連絡先の同期設定
CardDAV による連絡先同期サポートは iOS 5.0 以降のため
iOS 4.2.1で打ち止めのiPhone3Gは※1Google Sync(Microsoft Exchange)を使います
Google Syncが利用できない場合は他の方法を採用しなければなりません
iPhone3GでGoogle/Gmailの連絡先を同期する方法ついては現在調査中です 2013年9月30日
Apple iCloud - (MobileMe)
iPhoneを探すの設定
設定>メール/連絡先/カレンダー>アカウントを追加...>mobileme
Apple IDとパスワードを設定することで、icloud.comからiPhone3Gを探す事ができます
Apple iCloud - その他(手動設定/複数送信元アドレス登録可)
メールの同期設定
設定>メール/連絡先/カレンダー>アカウントを追加...>その他>メール:メールアカウントを追加
名前、アドレス、パスワード、説明を入力し次へ
IMAPを選択し
受信メールサーバーの設定
ホスト名:imap.mail.me.com
送信メールサーバーの設定
ホスト名:smtp.mail.me.com
次へ
登録が完了したアカウントに複数の送信元アカウントを設定している場合は、アカウントを開き、IMAPアカウント情報のアドレスに、設定しているメールアドレスをカンマ区切りで登録します。「メアドA, メアド B, メアド C」
iCloudメールサーバー詳細情報は http://support.apple.com/kb/HT4864?viewlocale=ja_JP のページにアクセス
Apple iCloud - CardDAV
連絡先の同期設定
サーバ:contacts.icloud.com
ユーザ名:Apple ID(任意の@me.com)
パスワード:iCloudパスワード
説明:任意の説明分を追加(表示されるアカウント名となります)
次へ
連絡先アプリを起動すると同期が開始されます
Apple iCloud - CalDAV
カレンダーの同期設定
設定>メール/連絡先/カレンダー>アカウントを追加...>その他>連絡先:CalDAVアカウントを追加
サーバ:caldav.icloud.com
ユーザ名:Apple ID(任意の@me.com)
パスワード:iCloudパスワード
説明:任意の説明分を追加(表示されるアカウント名となります)
次へ
SSL接続できませんととエラーが出た場合はキャンセルを選択し、詳細設定でSSL使用をオンにして、ポートを443にしてください
2013年秋、iPhone3Gを脱獄、チューンナップのまとめ iOS4.2.1
(13/09/28)問題なく動作し、動作もiPhone3Gしては軽快です
iOS設定で頑張る
spotlight機能をOFF
- 設定 → 一般 → ホームボタン → Spotlight検索で停止する項目を選択
- 操作音をOFF
- 入力方式を一つに(qwerty入力か、テンキーのフリック入力か)
- ホーム画面は1画面
- 壁紙は無地を使う
【iPhone3G】iOS4のモッサリを何とかしたい [ ガジェットさん家 ]
アプリで頑張る
メモリ解放アプリ
- 調査中
不要な常駐プロセスを停止
iPhoneにリモート接続し以下のディレクトリに.plistの形で常駐デーモンが格納されている。
停止の方法は、目的のプロセス(.plist)をローカルにバックアップ後に削除するか、.plistが格納されているフォルダと同じ階層にDis[FolderName]等のフォルダを作りデーモン(.plist)を退避させ停止する。
凡例:アンダーラインは現在停止中
/System/Library/LaunchDaemons/ 下、次のプロセスを停止(退避/削除)または設定変更
- com.apple.AdminLite.plist //長時間プロセスに常駐するものを消すものです。消しても問題ないです。
- com.apple.AOSNotification.plist //MobileMe(含where is my iPhone)が不要なら削除。つまりiPhone 3Gなら大概不要
- com.apple.apsd.tcpdump.en0.plist //PushNotificationのエラーを通知
- com.apple.apsd.tcpdump.pdp_ip0.plist //PushNotificationのエラーを通知
- com.apple.aslmanager.plist //システムログ用
- com.apple.apsd.plist //Push Notificationsが不要なら削除
- com.apple.chud.chum.plist //開発用iphoneでなければ削除
- com.apple.chud.pilotfish.plist //開発用iphoneでなければ削除
- com.apple.CrashHousekeeping.plist //クラッシュ用
- com.apple.dataaccess.dataaccessd.plist //ExchangeやGoogle Syncでの電話帳の同期が不要なら削除
- com.apple.datamigrator.plist //SIMカードから電話帳移行が不要なら削除
- com.apple.DumpBasebandCrash.plist //ベースバンド関連のクラッシュ時にAppleにレポートを送るものです。必要ないです。
- com.apple.DumpPanic.plist //クラッシュ時のダンプ用
- com.apple.iapd.plist //外部アクセサリとアプリとの連動に必要?ePrintなどを用いてBonjour経由でプリンタを利用する際には必要
- com.apple.iqagent.plist //iOS4.2.1には見当たらず
- com.apple.livetrace.plist //MobileMe関連
- com.apple.marco.tcpdump.en0.plist //ワイヤレス通信の接続エラーのログ
- com.apple.marcoagent.plist //ワイヤレス通信の接続エラーのログ
- com.apple.mobile.obliteration.plist //本体リセット機能(Exchange等からの遠隔/環境設定からのもの)が不要なら削除(遠隔操作やパスコードロック時に複数回失敗した際にiPhoneの情報を抹消するサービスを利用する際に必要)
- com.apple.mediaremoted.alt.plistミュージックボタンをサードパーティアプリに許可
- com.apple.mediaremoted.plist //ミュージックボタンをサードパーティアプリに許可
- com.apple.mobile.profile_janitor.plist //アドホック通信しない人は消していいです。
- com.apple.MobileInternetSharing.plist //Tetheringが不要なら削除。つまり日本にいる限りは削除。
- com.apple.powerlog.plist //仕様外の充電器検知用。削除後は、ちゃんとした充電器を使いましょう。
- com.apple.racoon.plist //VPNが不要なら削除
- com.apple.ReportCrash.DirectoryService.plist //クラッシュ時の通知用
- com.apple.ReportCrash.Jetsam.plist //クラッシュ時の通知用
- com.apple.ReportCrash.plist //クラッシュ時の通知用
- com.apple.ReportCrash.SafetyNet.plist //クラッシュ時の通知用
- com.apple.ReportCrash.SimulateCrash.plist //クラッシュ時の通知用
- com.apple.ReportCrash.StackShot.plist //クラッシュ時の通知用
- com.apple.searchd.plist //spotlightが不要なら削除
- com.apple.stackshot.server.plist //iOS4.2.1には見当たらず
- com.apple.syslogd.plist //システムログ用 (アプリアンインストールに必要らしいです)
- com.apple.scrod.plist //Voice Control関係
- com.apple.search.appindexer.plist //Spotlight関連
- com.apple.tcpdump.server.plist //ネットワークトラフィックのダンプ用らしい
- com.apple.itunesstred.plist //テキストエディタ等で開き、key: SuccessfulExitのValue値をtrueに変更する。名称からしてiTunesStoreの利用時にまつわる何かの、不要時にデーモンが終了するようするらしい
- com.apple.wapic.plist //中国でWiFiを使う際に必要?
/System/Library/SystemConfiguration/PowerManagement.bundle/ 下、次のファイルを停止(退避/削除)
- com.apple.SystemPowerProfileDefault.plist //CPUのオーバークロック(パワーキャッピングの設定ファイルらしい)
参考サイト
iPhoneの不要な常駐サービスをkill! [ ガジェットさん家 ]
那覇レポート: iOS4/iOS5/iOS6の軽量化・高速化[上級編]
常駐のデーモンを消して空きメモリアップ!! | Sea Side Lion
iPhoneの常駐デーモンを減らして動作を高速化する - iPhone - おれのオレによる俺のためのブログ
参考サイト
iPhone3Gを極限までチューニングしてみる [ ガジェットさん家 ]
パートタイムメアド
QuickMail
http://15qm.com/
10 Minute Mail
http://10minutemail.com/10MinuteMail/
ExpansysでSIMフリー端末を購入してみた(注文〜受取り編)
11時ごろオーダー
2013年9月16日 月曜日【注文処理開始】
13時ごろ手続き開始のメールが入る
**** 様この度はクロネコヤマト国際宅急便をご利用いただきありがとうございます。お客様のお荷物は輸入手続きを終了し、空港より発送されました。■お届け予定日時09月18日(水) 時間帯希望なし※ゴルフ・スキー・空港宅急便(施設宛)の場合は、プレー日(搭乗日)を表示しています。変更希望の方はこちらをクリックしてください。https://jizen.kuronekoyamato.co.jp/ukejizen/PENTRANCE?id=*************■お届け先(住所)**********■お支払い総額:¥800■伝票番号:****-****-****商品の配達情報はこちらをクリックしてください。http://jizen.kuronekoyamato.co.jp/jizen/servlet/crjz.b.NQ0010?id=276537688781<ご注意>本メールは、送り主様のご依頼により送信しています。道路状況等により、予定通り配達できない場合があります。ヤマト国際宅急便
EMOBILE LTEサービス端末「GL01P」「GL02P」不当景品類及び不当表示防止法に違反
弊社に対する措置命令に関するお詫びとお知らせ|報道発表資料|イー・アクセス
抜粋初めてこの事実を知り
EMOBILE LTEサービスを利用するためのデータ端末である「GL01P」または「GL02P」を使用する場合に一般消費者が享受できる下り通信速度は最大でも30Mbps程度でした
対応策として「GL01P」「GL02P」利用者には、2013年2月末までにUSBケーブル接続に対応するソフトウェアを無償でご提供する予定
対応策であるUSBケーブル接続に対応するソフトウェアの入手について確認した
イー・モバイル カスタマーセンター結果、USBケーブル接続に対応するソフトウェアはウインドウズ専用で
受付電話番号:0120-736-157(#1)
受付時間 :9:00~21:00 (年中無休)
MacOSXには対応していないとの事だった
代替え策として「GL04P」というデータ端末の無償提供が可能である
との事だったので下記の内容を承知し受け取る事となった
- 最大通信速度はベストエフォート(規格上の最大速度)であり、実効速度として保証するものではない事
- 無償提供データ端末のWi-Fi接続で通信速度のアップを保証するものではない事
予備機として保管してくださいとの事
Sony Xperia SP LTE C5303 (SIMフリー, Unlocked)
ExpansysでSIMフリー端末を購入してみた(注文〜受取り編)
Mac OS X:10.7 Lion : Mac がスリープしなかった理由
Mac OS X:Mac がスリープしない、またはスリープモードを持続できない理由
スリープ問題の原因を判断し、解決する方法
- 「共有」環境設定:いかなる接続でも共有すると、スリープが無効になる可能性があります。使っていないときは、ファイルの共有をオフにしてください。
- Bluetooth 設定:システム環境設定の「Bluetooth」パネルで「Bluetooth デバイスがスリープを解除することを許可」のチェックボックスをチェックすれば、Bluetooth デバイスがコンピュータをスリープから解除することができます。
- キーボードおよびマウスは正常に接続され、動作していますか?
- ほかの外付け USB または FireWire デバイスを接続していますか?外付けデバイスを使っていないときに 1 つずつ取り外してみます。取り外す前に、必ず記憶デバイスをすべてマウント解除するように注意します。
- プリンタキューにプリントジョブはありますか?キューにプリントジョブがあれば削除します。
- Spotlight がインデックスを作成していますか?この動作は、新たにインストールを行ってから、またはインデックスが作成されていない記憶デバイスが接続されてから 数分後から数時間後 に実行されることがあります。インデックス作成中は、待機モードが阻止されます。
- その他のソフトウェア:セーフブート でソフトウェア問題の 切り分け を試みます。
- コンピュータの近くに耳を傾けます。ハードディスクにアクセスする「カチッ」という音が聞こえましたか?
- 省エネルギー設定:コンピュータおよびディスプレイのスリープタイマーが「しない」に設定されている場合、コンピュータはスリープしません。
safari サムネイル 無効
スナップショットを作成停止または自動更新停止する
Mac Safariが作成するサイトのプレビュー画像を、作成停止または自動更新停止する裏技 / Inforati
サムネイル画像の作成を停止する裏技
defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -integer 2
サムネイル画像の自動更新を停止する裏技
defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -integer 1
サムネイル画像の作成を元に戻すには
元に戻すには、以下を入力して設定の変更を削除してから、Safariを再起動します。
defaults delete com.apple.Safari DebugSnapshotsUpdatePolicy
また、以下でどのような設定に変更したか確認することができます。
defaults read com.apple.Safari DebugSnapshotsUpdatePolicy
サムネイル画像が存在するフォルダの場所
サムネイルは「(ユーザのホームフォルダ)」→「ライブラリ」→ 「Caches」 → 「com.apple.Safari」 → 「
Webpage Previews」の中にあります。
以下のパスをFinderの「フォルダに移動」コマンドに入力しても移動できます。
~/Library/Caches/com.apple.Safari/Webpage Previews
参考
■Top Sites無効化
defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool NO
■webpage preview imagesを作らない
defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2
参考
osx 再起動後の再開
OS X Lionの再起動後の「再開」機能をオフにする | Mac OS X | Macお宝鑑定団 blog(羅針盤)
スクリプトの作成
$ sudo nano /Library/Scripts/no-save.sh
開いたら下記を記入
#!/bin/bash
rm ~/Library/Preferences/ByHost/com.apple.loginwindow.*.plist
作成したスクリプトを実行可能にする
$ sudo chmod u+x /Library/Scripts/no-save.sh
ログアウト時にスクリプトを実行させる
$ sudo defaults write com.apple.loginwindow LogoutHook /Library/Scripts/no-save.sh
元に戻す場合
$ sudo defaults delete com.apple.loginwindow LogoutHook
OS X 10.7 Lion の再起動やログアウトで「再ログイン時にウィンドウを再度開く」を常に無効にする方法 | Macとかの雑記帳
Blender: 2.5系 ショートカット
R : 回転
S : 拡大
N : プロパティ
T : オブジェクトツール
TAB : 編集/ビュー
A : 選択/解除
X : 削除
M : レイヤーを移動
CTRL+ALT+Q : 四面ビュー
F12 :レンダリング
視点
[テンキー1]:ビューを正面
[テンキー3]:ビューを側面
Blender: Curve Deform
2.6x
Curve オブジェクトデータ Bounds Clampをチェック
[blender] curve modifierで上手くオブジェクトが曲げられず苦労した… memorandum/ウェブリブログ
2.4x
CurveStretch
Blenderで3DCG制作日記 練習005 まだ体育館のモデリング中
ment キーワード
半田付け|ハンダ付け|はんだ付け|ソルダー|半田鏝|半田ごて|半田こて|はんだコテ|はんだこて|ハンダゴテ|はんだごて|はんだ鏝|ハンダ鏝|焼鏝|焼コテ|焼ゴテ|焼こて|焼ごて|焼き鏝|焼きコテ|焼きゴテ|焼きこて|焼きごて|ヤキゴテ|ヤキコテ|やきごて|やきこて
cubicvr_script.js 設定
flashvrのみ有効
必要がdocument.writeln('<script src="https://googledrive.com/host/0B1aIrbcbrIYkeGl4SnpvYTBoelk/p2q_embed_object.js" type="text/javascript"></script>');
<!--全天球-->
<script src="https://googledrive.com/host/0B1aIrbcbrIYkeGl4SnpvYTBoelk/cubicvr_script.js" type="text/javascript"></script>
<script type="text/javascript"><!--
var isFlashInstalled=function(){if(navigator.plugins["Shockwave Flash"]){return true;}try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash");return true;}catch(a){return false;}}();
if(isFlashInstalled){
//document.writeln("Flashは有効です.");
document.writeln('<div>
<span class="cubicvr-link flashvr-link" onclick="load_flashvr(this,'+"'"+'https://googledrive.com/host/0B1aIrbcbrIYkeGl4SnpvYTBoelk/DSCN3982_Panorama_out.swf'+"','"+'320'+"','"+'240'+"'"+');">Flash VR を読み込む</span></div>
');
}else{
document.writeln("Flashをサポートしているシステムでご覧下さい.");
}
--></script>
<!--/全天球-->
*/
/*
flashvrとhtml5vrエントリーへの記述
<!--全天球-->
<script src="https://googledrive.com/host/0B1aIrbcbrIYkeGl4SnpvYTBoelk/cubicvr_script.js" type="text/javascript"></script>
<script type="text/javascript"><!--
cubicvr_load("https://googledrive.com/host/0B1aIrbcbrIYkeGl4SnpvYTBoelk/DSCN3982_Panorama_out.swf","320","240","https://googledrive.com/host/0B1aIrbcbrIYkVExiVk00Wi0wVzA/index.html");
--></script>
<!--/全天球-->
*/
検索置換 正規表現式 image data
(---- EXIF ----)(.*?)</td>
置換:
<span class="ment-image-data-link" onclick='mentImageDataLinks(this);'>\1</span><span style="display:none;">\2</span>
iframeの高さ調整
【Javascript】iframeの内容を取得したい at softelメモ
2012/03/12 / Category JavaScript
問題
iframeの内容を取得したいのだが、なぜか取得できない。
<script> //iframe要素を作る $('body').append('<iframe id="example1" src="http:/\/www.softel.co.jp/"></iframe>'); //iframeのdocumentを取得する var doc = $('#example1').get(0).contentDocument; //例えばa要素の数 → あるはずのページでも0と返ってくる alert(doc.getElementsByTagName('a').length); </script>
答え
あせってiframeの読み込みを待たずにdocumentを取得しようとすると何も取れない。
以下のように loadを待つ(jQueryを読み込んでいる前提で書いています)
<script> $(function(){ //iframe要素を作る $('body').append('<iframe id="example1" src="http:/\/www.softel.co.jp/"></iframe>'); //iframeのload時にdocumentを取得するようにする $('#example1').on('load', function(){ //iframeのdocumentを取得する(Mozilla系 || 古いIE系) var doc = this.contentDocument || this.contentWindow.document; //例えば最初のimg要素のalt属性を取得する alert(doc.getElementsByTagName('img')[0].getAttribute('alt')); }); }); </script>
blender Curve Deform
X軸にカーブさせるときは X軸端に適量のアンカーを追加し 編集で面の最適化をする Fill(Shift Alt F)
2.6x
Curve オブジェクトデータ Bounds Clampをチェック
[blender] curve modifierで上手くオブジェクトが曲げられず苦労した… memorandum/ウェブリブログ
2.4x
CurveStretch
Blenderで3DCG制作日記 練習005 まだ体育館のモデリング中
perl URL取得
自CGIのURLのパス部分を取得する方法 | PerlのQ&A【OKWave】
my $path=(lc(($ENV{SERVER_PROTOCOL}=~m|(\w*)/?|)[0])||"http")."://".$ENV{SERVER_NAME}.($ENV{SERVER_PORT}!=80?":".$ENV{SERVER_PORT}:"").substr $ENV{SCRIPT_NAME},0,rindex($ENV{SCRIPT_NAME},'/')+1;
perl 正規表現で末尾から文字列出現回数指定
正規表現で3回目の単語の後に文字を入れたい - PHP - 教えて!goo
<?php
$str=<<<eof
<p>昔むかし、あるところに</p>
<p>おじいさんと</p>
<p>おばあさんが</p>
<p>住んでいました。</p>
eof;
$pattern="/(.+?<\/p>){3}/s";
$replacement="$0文字";
$str=preg_replace($pattern,$replacement,$str);
print htmlspecialchars($str);
?>
対象データ
abc11abc22abc33abc44abc55abc66 abcabcabc abc11abc abcabc22abc abXabcbcabcabc abcabcabcabcabc
正規表現
abc(?=(((?!abc).)*abc){2}((?!abc).)*$) 別解 abc(?=(.*abc){2})(?!(.*abc){3})
perl クッキー 日時
$expires = makeexpiresdate(1);
sub makeexpiresdate
{
local $delta;
local ($gmt, @t, @m, @w);
$delta = $_[0];
@t = gmtime(time() + $delta*60*60*24);
@m = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
@w = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$gmt = sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT",
$w[$t[6]], $t[3], $m[$t[4]], $t[5]+1900, $t[2], $t[1], $t[0]);
return $gmt;
}
javascript 自己ファイルへのSRC URLクエリから 引数
// 引数確認 //
var debug = 1;
var br = "<br />";
var o = document.getElementsByTagName("script");
var d = o[o.length-1].src.substring(0, o[o.length-1].src.lastIndexOf("_userdata"));
debug ? document.write(d+br):0
if(o[o.length-1].src.match(/\?/i)){
var q = o[o.length-1].src.substring(o[o.length-1].src.lastIndexOf("?")+1);
debug ? document.write(q+br):0
function geturlqp(q,p){
if(q.match(RegExp(p+"=")))return q.replace(RegExp("(^.*?)("+p+")=(.*?)(&.*?$|$)"),"$3"); else return;
}
debug ? document.write(geturlqp(q,"mod")+br):0
debug ? document.write(geturlqp(q,"c")+br):0
}
javascript
var br = "<br />";
//引数確認
var o = document.getElementsByTagName("script");
document.write(o);
document.write(br);
var s = o[o.length-1].src;
document.write(s);
document.write(br);
var d = o[o.length-1].src.substring(0, o[o.length-1].src.lastIndexOf("_userdata"));
document.write(d);
document.write(br);
if(s.match(/\?/i)){
var q = o[o.length-1].src.substring(o[o.length-1].src.lastIndexOf("?")+1);
document.write(q);
document.write(br);
var p = q.replace(/(^.*?)(c)=(.*?)(&.*?$|$)/,"$3");
document.write(p);
document.write(br);
function geturlqp(q,p){
return q.replace(RegExp("(^.*?)("+p+")=(.*?)(&.*?$|$)"),"$3");
}
document.write(geturlqp(q,"c"));
document.write(br);
document.write(geturlqp(q,"w"));
}
外部 javascript ファイルに SRCからURLクエリパラメーター(引数)を 渡す
クライアント側(javascript) で<script>要素のsrc属性を解析する
ロード直後、自己の<script>要素のsrc属性から、URLクエリパラメータ(引数)を取得する
<HTML>
<head>
<script>
src取得(../../script.js?c=book&w=dictionary)
URLクエリパラメータ取得(c=book&w=dictionary)
// ../../script.js?c=book&w=dictionary
var o = document.getElementsByTagName("script");
var q = o[o.length-1].src.substring(o[o.length-1].src.lastIndexOf("?")+1);
document.write(q); // c=book&w=dictionary
document.write(getUrlqp(q,"c")); // book
document.write(getUrlqp(q,"w")); // dictionary
function getUrlqp(q,p){
return q.replace(RegExp("(^.*?)("+p+")=(.*?)(&.*?$|$)"),"$3");
}
perl 置換リスト 配列
our @WORDS = (
[$triggerWord,''],
['^.*?id="layout-css|options-css|theme-css|page-css" />','<op> -d'],
['id="script-js"></script>','<op> -d -setStart -JS'],
['</script>','<op> -d -setEnd -JS'],
['id="bind-tag-cleaner-config-js">','<op> -d -setEnd'],
['</script>','<op> -d -setEnd -JS'],
['</script>','<op> -d -setEnd -JS']
);
第12回 2次元配列 - bingo_nakanishiの他言語出身者のためのPerl入門
se strict; use Data::Dumper; # 1次元配列 my @c = ('a', 'b', 'c'); my @d = ('e', 'f', 'g'); my @e = ('h', 'i', 'j', 'k', 'l'); # リファレンスで持たせるんだ!!!! my @f = ( \@c, \@d, \@e ); print Dumper \@f;
結果:
$VAR1 = [ [ 'a', 'b', 'c' ], [ 'e', 'f', 'g' ], [ 'h', 'i', 'j', 'k', 'l' ] ];
javascript 外部ファイル パラメータ
外部ファイルのスクリプトに引数を渡す方法 - JavaScriptプログラミング解説
// ※この関数は スクリプトの読み込み直後に呼ばれる必要がある function GetScriptParams() { var scripts = document.getElementsByTagName( 'script' ); var src = scripts[ scripts.length - 1 ].src; var query = src.substring( src.indexOf( '?' ) + 1 ); var parameters = query.split( '&' ); // URLクエリを分解して取得する var result = new Object(); for( var i = 0; i < parameters.length; i++ ) { var element = parameters[ i ].split( '=' ); var paramName = decodeURIComponent( element[ 0 ] ); var paramValue = decodeURIComponent( element[ 1 ] ); result[ paramName ] = decodeURIComponent( paramValue ); } return result; }
var configs = new Object; var scripts = document.getElementsByTagName("script"); for (var i = 0; i < scripts.length; i++) { var s = scripts[i]; if (s.src && s.src.match(/hoge\.js(\?.*)?/)) { var params = s.src.replace(/.+\?/, ''); break; } } params = params.split("&"); for(var i = 0; i < params.length; i++) { var tmp = params[i].split("="); configs[tmp[0]] = unescape(tmp[1]); }
var s = document.getElementsByTagName("script");
var d = s[s.length-1].src.match(/mode=p/);