はじめに

Webサイトは、一度作ったら終わりというものではありません。読者の反応を伺いつつ、日々改善していく必要があります。
そこで今回は、さりげなく読者からアンケートの回答を得る方法を考えてみました。「さりげなく」というところが、数多くの、様々なタイプの読者からアンケートの回答を得る為のポイントです。

実現方法

スナップショット ページの末尾によく見かけられる[戻る]・[トップ]などをクリックしようとしたときに、スクリプトを用いてアンケートをポップアップ表示します。
ポップアップをむやみに表示すると読者の印象を悪くするので、読者に心理的負担をかけないような配慮が必要です。

実現にあたっては留意すべき点を、以下にまとめました。

実装例

画面下部の[戻る]に、マウスカーソルを重ねてみてください。(注:Internet Explorer以外のブラウザを使用している場合、なにも起こりません。)

サンプルコード

<html>
<head>
<script language="JavaScript"><!--
var WIDTH = 300; //ポップアップのサイズ(幅)
var HEIGHT = 150; //ポップアップのサイズ(高さ)
var sNextUrl = ""; //遷移先URL
var oPopup = window.createPopup(); //ポップアップ oPopup.document.body.innerHTML =
'<div width="' + WIDTH + '" height="' + HEIGHT + '">' +
'<img src="popup.gif">' +
'<div style="position: absolute; top:10%; left:10%; width:80%; height:80%;">' +
'<p>この記事の感想を教えてください</p>' +
'<ul>' +
'<li><a href="" onClick="parent.SendScore(2)" tabindex="-1">とても参考になった</a></li>' +
'<li><a href="" onClick="parent.SendScore(1)" tabindex="-1">ある程度参考になった</a></li>' +
'<li><a href="" onClick="parent.SendScore(0)" tabindex="-1">あまり参考にならなかった</a></li>' +
'</ul>' +
'</div>' +
'</div>' ;

/**
ポップアップメニューを表示する。
aNextUrl : アンケート回答後の遷移先URL
*/
function ShowPopup(aNextUrl)
{
sNextUrl = aNextUrl;
oPopup.show((WIDTH * -0.5 + 5), (HEIGHT * -1 - 5), WIDTH, HEIGHT, event.srcElement);
}

/**
アンケート結果を送信する。
aScore : アンケートの回答
*/
function SendScore(aScore)
{
oPopup.hide();
window.location.href = "collector.cgi?subject=" + window.location.href + "&score=" + aScore + "&url=" + sNextUrl;
}
// --></script>
</head>

<body>
<p>...(本文)...</p>
<div><a href=".." onMouseOver="ShowPopup(this.href)" >[戻る]<img src="popup-ico.gif" width="16" height="16" alt="アンケートにご協力ください" style="border: 0px;"></a></div>
</body>
</html>

処理手順

  1. 読者がカーソルを[戻る]の上に移動すると、ポップアップを表示します。[ShowPopup()]
  2. 読者がアンケートの回答を選択すると、アンケート収集用CGIを呼び出します。[SendScore()]
  3. アンケート収集用CGIは、アンケートの回答(GET引数:score)を記録します。その後、[戻る]のリンク先画面(GET引数:url)を表示します。

参考リソース