top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_1137

友達にメールで教える:ははは。またこんなところで、四苦八苦。でも一応これもまとめておこう。使える?かも ・・・ 【JavaScript】

 2009-10-30
 プロジェクトサイト構築中における、小さな
 四苦八苦。

 前回は
 ・お気に入りに登録 の件でしたが
  ・お気に入りに追加:今更こんな事に嵌ってしまって。どうしようも無かったんだけど、一応記録、まとめておこう。Chromeには参った ・・・ 【JavaScript】


 今回は
 ■「友達にメールで教える」ネタ
  もう当たり前のように、よくありますよね。
  ※実際にこれが使われているのかどうか
   これはかなり疑問だけれど。
   今度調査してみたいが、とにかく今は・・・


  実はこれ、単純に herf で、mailto を読んでるだけ
  ですよね。
<a href="mailto:?subject=%E8%A6%8B%E3%81%A6%E3%81%BF%E3%81%A6%EF%BC%88%E3%81%97%E3%82%83%E3%82%8C%E3%81%98%E3%82%83%E3%81%AA%E3%81%84%EF%BC%89&body=%E5%89%B5%E3%82%8Bmetaboy%0Ahttp%3A%2F%2Fmetaboy.blog23.fc2.com%2F">友達にメールで教える</a>
 こんな感じで。
   > 友達にメールで教える

  でもって、サイトごとに
  この
  タイトルとかのエンコード文字列を用意して・・・
  あるいは、php上で自動エンコードして・・・
  なんてやってたんですけど。


 もっと簡単なJavaScriptの部品にならないかな・・・と。


 しょ、しょーもない。
 ・・・ま、そうおっしゃらず。一応記録。


  追記に ▼


FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more

************************************************
◎ 友達にメールで教える、ってどうよ?、の巻:JavaScript
************************************************


 まず、単純に
 ■関数化
   function用意して
<a href="javaScript:void(0);" onclick="javascript:GoMailFriend();">友達にメールで知らせる</a>
 と呼ぶ、と。
  まぁ、それはいい。

 で、用意する関数。
 ここで、javascript で、mailto を呼ぶ。
 呼ぶ?


 ■(結局)
  ・古い記事ですが、
   ・Javascript mailto with variables
   これを見て、結局そうだよな、と。


   ・別ウインドウで開き、すぐ閉じる、と。
    これしかないよな、と。


 


■実装
  ※こういう関数を用意。
function GoMailFriend(){
var tempbody = encodeURIComponent(document.title + '\n' + document.location);
var toURL = "mailto:?subject="+encodeURIComponent("お元気ですか? ねぇ?知ってる?");
toURL += "&body="+tempbody;
var win = window.open(toURL,'emailWindow');
if(win && win.open &&!win.closed){ win.close(); }
}

 ま。一応これで実装終了。
 これで実装終了
 ・・・なのですが。
  [動作チェック]
    IE8,FIrefox3.5,Chrome3.0.1,IE6,IE7
    ※IE6/7 は、IETester 利用。


 少し記録。


 ■試行錯誤
  ・Ajaxの非同期通信(的に)利用できないのか?
   こんなことにつかっちゃ駄目なのか?
   ・Ajaxの基礎関数用意しておいて 
	var originalNode=document.getElementById("scriptNode_ajax");
var newScriptNode=document.createElement("script");
newScriptNode.src=toURL;
newScriptNode.id="scriptNode_ajax";
originalNode.parentNode.replaceChild(newScriptNode,originalNode);

  [結果]
    IE8 のみ ○(稼動)
    Firefox,Chrome ×(うんともすんとも、エラーは出ない)

 


  ・locaion を一時的に変える? 
var orgLoc = window.self.location;
window.self.location.href = toURL;
window.self.location.href = orgLoc;

  [結果]
    動くけど、切り替わりがはっきり分かって・・・

 で、
 まだ、別ウインドウを即座に開く今回のほうが
 瞬時で、いいかな、と。


 素直に、phpで、ドキュメント上で動的生成した方が
 やっぱりいいですね。


 また、無駄足、だった・・・


 でも、一応おいとこ。
 (使う方、いないと思いますが)


 > 友達にメールで知らせる

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/1137-c47708d7
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。