リファラーが取れない・・・IE限定
Posted by admin | Filed under Javascript
またまたIE地獄
javascript経由でページ遷移しなくてはならくて
飛び先でリファラーを取得しようとしても
location.hrefで遷移するとリファラーが取得できない・・・。
対処法
後からDOM操作で追加するでもよいのでformタグを追加します。
<form method="get" action="リンク先URL" id="Id名"></form>
javascriptはこんなかんじ
function clickAction()
{
location.target= "_blank";
document.getElementById("Id名").submit();
}
遷移先に変数を渡したい場合はリンク先URLのおしりに直接くつけるのではなく
inputタグを利用するとうまくいきます。
理由はわかりません。
<form method="get" action="リンク先URL" id="Id名"><input type="hidden" name="id" value="hoge"></form>
直リンのFlash(ブログパーツとか)
だとリファラーが取れないのでjavascript経由で取得することになるんですが
飛び先でリファラー取得する場合
まさかのIE地獄でしたとさ。
Tags: Ajax, Javascript
flashがどこで開かれたか知りたい
Posted by admin | Filed under Javascript
swfが開かれているurlを調べたい
javascriptで簡単にできました。
location.href
例)
<script type="text/javascript">
alert(location.href);
</script>
サンプル
これだけです
こいつをflashvarsでSWFにおくればflashでもどこから来たのか解析できますね。
Tags: Javascript
Javascriptで正規表現
Posted by admin | Filed under Javascript
xmlのvalueの中にhtmlタグが入っていたので正規表現をつかってタグを抜きました
<script type="text/javascript">
function func() {
alert("<a href=’#'>タグじゃま!!</a>".replace(/<\/?[^>]+>/gi, ""));
}
</script>
※タグをぬいたれボタンを押すとhtmlタグを抜いた「タグじゃま!!」の部分がアラートで表示されます
正規表現をわかりやすく説明してくれてたサイト発見したので
わからなかったら読むといいです。
参照サイト はじめての正規表現
あとはこのサイトがかなり便利だったのでこれも
参照サイト humming bird : JavaScript - 正規表現 パターン・チェック
Tags: Javascript
JSでのエラーを受け取る方法
Posted by admin | Filed under Javascript
ブラウザが返却するエラーをキャッチしたい。
たとえばxmlのノードをパース失敗したときundefinedで返して欲しいのに
ブラウザでエラー、
その時点でjavascriptの処理が終わっちゃいますよね。
実は今回ガジェットを作る際、
amazonから返してほしいノードが商品によって
あったりなかったりして非常にこまりました。
んでこのtry-catch文
try{
// 何らかのプログラム
}catch( e ){
alert( e ); // バグの内容をダイアログで表示する
}
これをつかうとエラーをキャッチしてその後catch文の処理を行い
そのまま次のコードへ進行できます。
Ajaxやるにはほぼ必須というのも頷けます。
javascriptのデバッグにつかえますね。
参考サイト ウィキブックス JavaScript try-catch文
Tags: Ajax, Javascript
iGoogleのガジェットつくってみた2
Posted by admin | Filed under Api, Javascript, ネタ
この間つくったスイーツランキングのソースを利用して
任天堂wii-予約受付中ランキングガジエットをつくってみた
<script src="http://www.gmodules.com/ig/ifr?url=http://hosting.gmodules.com/ig/gadgets/file/102498631954277920987/wiiRnk.xml&synd=open&w=320&h=375&title=%E4%BB%BB%E5%A4%A9%E5%A0%82Wii-%E4%BA%88%E7%B4%84%E5%8F%97%E4%BB%98%E4%B8%AD%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>
Tags: Api, google, iGoogle, Javascript
iGoogleのガジェットつくってみた
Posted by admin | Filed under Api, Javascript, ネタ
詳細はまた書きます
iGoogleを使ってる人はまずここでGETしよう!
今すぐ!Amazon売れ筋スイーツランキング
http://www.google.co.jp/ig/directory?hl=ja&url=hosting.gmodules.com/ig/gadgets/file/102498631954277920987/sweetRnk.xml
Tags: Api, iGoogle, Javascript
残念な事にJSでxmlを・・
Posted by admin | Filed under Javascript
だめだ・・。
XMLHttpRequest使って「いろんな所のblogまとめrssリーダ」
を作ろうとしてたらクロスドメイン制限でひかかっちゃうわ。
IEは閲覧できるけどアラート出ちゃうし
firefox3なんて表記もされずエラー出ちゃってるし
JSだと相手のサーバー側でクロスドメイン制限回避しかないみたいだね、
他ドメインのRSSはサーバ側で読込んでパースして
クライアント側で受け取ったほうがいいみたい。
でもまあなんか一応読込む部分のソース残しとくかー
同一ドメイン・クロスドメイン制限回避済だったら使えるわけだしね
Tags: Javascript, クロスドメイン
getElementsByTagNameを使った操作
Posted by admin | Filed under Javascript
getElementsByTagNameと正規表現を使って文字列を操作してみましょう。
flashサイトつくったんだけど
Actionscriptとか中心にかいてます
<p>flashサイトつくったんだけど</p>
<p>Actionscriptとか中心にかいてます</p><input type="button" onClick="changeStr()" value="変換">
<script type="text/javascript">
function changeStr()
{
var objName = document.getElementsByTagName("body");
var value = objName[0].innerHTML;value = value.replace(/Actionscript|flash/g,"<span style=’color:#0000ff; font-size:35px;’>うんこ</span>");
document.getElementsByTagName("body")[0].innerHTML = value;
}
</script>
Tags: Javascript
getElementByIdでDOM操作
Posted by admin | Filed under Javascript
きのうきききりんにきいたんだけど
getElementByIdで「き」を強調してやります!
<p id="textKi">きのうきききりんにきいたんだけど</p>
<div style="margin:20px;"><button onclick="chageElement()">「き」を大きくして赤くします</button></div>
<script type="text/javascript">
function chageElement()
{
var word = "き";
var answer="";
var objName = document.getElementById("textKi");
var value = objName.innerHTML;
for(var i = 0; i < value.length; i++)
{
if(value.slice(i,i+1) == word)
{
answer += "<span style=’font-size:30px; color:#ff0000;’>"+value.slice(i,i+1)+"</span>";
}
else
{
answer += value.slice(i,i+1);
}
}
document.getElementById("textKi").innerHTML = answer;
}
</script>
Tags: dom, Javascript