2005年6月 6日

新しいウィンドウを開くとき

元記事はこちら。

 『 質問受付掲示板:URL』
 http://www.pchajime.com/cgi-bin/situmon/thread.cgi?number=130069
 
JavaScript を使って、新しいウィンドウを開くようなリンク、よく見掛けますしぼくも使います。

 window.open('hoge.htm' , 'hoge');
 
みたいなヤツ。
でもこれ、ユーザーさんがスクリプトを無効にしていると、リンクが機能しなくなっていまいます。
困ります。

制作者サイドでは、見てくれない人が出るのは ちょっとイヤです。
ユーザーさんサイドでは、このリンククリックしても何も起きないよ!。

制作者は出来る限り、ユーザーさんが持つ「機会」を失わせてはいけないと ぼくは思います。(無理なときもあるけど)。
リンク先を 「見られるひと」、「見られない人」 を生み出してしまうわけで、ページ自体のユーザーさん達に対する公平さを損なうことになり、問題だと思うのです。

これを救済する方法として、以下のようなコーディングが考えられます。

<script type="text/javascript">
  document.write("スクリプト有効環境用の");
  document.write("HTMLタグ");
  document.write("<div class='hide'>");
</script>
<a href="hoge.htm" target="newHoge">hogeへ</a>
<script type="text/javascript">
  document.write('</div>');
</script>

詳しくはこちらのページをご覧になって下さい。

投稿者 hamayo : 22:28 | コメント (1) | トラックバック

2005年2月26日

Word でインタラクティブ囲い文字

「インタラクティブ」なんて大それたタイトルだけど、汎用性のない、子供の遊びレベルのコードです。
元記事はこちらの掲示板

たったあれだけのコードだけど、Word の VBA も奥が深いというか、ワケがわからんというか、なんともはや。

除菌ちゃんのアドバイスを参考に、ActiveDocument.Pathプロパティを使って、カレントドキュメントのパスを得ることで、たぶんどこでも動くようになったはず。

まぁでも、Word で、しかもただ○で囲むためだけに VBA 使うのって、はなはだ自己満足。

Private Sub Label1_Click()
  Label1.Picture = _
  LoadPicture(ActiveDocument.Path + "\i\you_maru.gif")
  Label2.Picture = _
  LoadPicture(ActiveDocument.Path + "\i\huyou.gif")
End Sub
Private Sub Label2_Click()
  Label1.Picture = _
  LoadPicture(ActiveDocument.Path + "\i\you.gif")
  Label2.Picture =_
  LoadPicture(ActiveDocument.Path + "\i\huyou_maru.gif")
End Sub

docファイルのダウンロード(you_huyou_check.lzh:14,792bytes)

続きを読む・・・

でもね、やっぱりウチじゃ相対パスで動くんです。
なので、ワケがわからんし、なんともはや なのです。

でもね、やっぱりウチじゃ相対パスで動くんです。
なので、ワケがわからんし、なんともはや なのです。

投稿者 hamayo : 22:31 | コメント (0) | トラックバック

2005年2月21日

セルの背景色をマウスオーバー/アウト

リンク元はこちらの掲示板です。

対象のオブジェクトと色名を、引数渡ししてやれば良いかもしれませんね。
どれもみな同じ色にするのであれば、色名は引数を使う必要はないですが、こうした方が汎用的かな、と思ったので・・・。

<script language="JavaScript" type="text/JavaScript">
<!--
function bgColorChanger(o,hex){
o.style.backgroundColor = hex;
}
//-->
</script> <body> <table>
<tr>
<td onMouseOver="bgColorChanger(this,'#82c3d5');" onMouseOut="bgColorChanger(this,'');">uuh</td>
<td onMouseOver="bgColorChanger(this,'#cfcab4');" onMouseOut="bgColorChanger(this,'');">yah</td>
<td onMouseOver="bgColorChanger(this,'#afc032');" onMouseOut="bgColorChanger(this,'');">tah</td>
</tr>
</table>
</body>

実際のページだと、こんな感じ(←クリックで別ページ)で。

投稿者 hamayo : 21:45 | コメント (6) | トラックバック