埋め込み SWF を作成し、ユーザーが Flash を利用できない場合はイメージをフォールバックとして使用するスクリプトを作成しています。SWFobject などの他のライブラリを使用することは許可されていないため、createElement/appendChild/setAttribute などの DOM 手法を使用することになります。
私はこの素晴らしいブログ投稿を使用しています: http://pipwerks.com/2011/05/30/using-the-object-element-to-dynamically-embed-flash-swfs-in-internet-explorer/ガイドライン、およびテストしたすべてのブラウザーで Flash を実行していますが、Internet Explorer 8 のオブジェクトにリンク/画像コンボを挿入する方法についての解決策は含まれていません。
createElement("a") を使用して画像に同様に使用し、それを他の Div 要素に追加すると正常に動作しますが、それをオブジェクトに挿入しようとすると、MSIE8 は「無効な引数」をスローします。
また、ID を使用して偽のパラメーターを作成し、それをリンク/画像の組み合わせに置き換えようとしました。これは、テストした他のブラウザーでは機能しますが、IE8 では機能しません。これについての考えは大歓迎です。
これは私のコードです (スクリプトを作成するために js と PHP の組み合わせを使用しています):
var alink = document.createElement("a");
alink.setAttribute("href", "URL_TO_TARGET_SITE_OR_CLICK_COUNTER");
var alinkImage = document.createElement("img");
alinkImage.setAttribute("src", "URL_TO_IMAGE");
alinkImage.setAttribute("alt", "");
alinkImage.setAttribute("width", "IMAGE_WIDTH");
alinkImage.setAttribute("height", "IMAGE_HEIGHT");
alink.appendChild(alinkImage);
if(!IE8) {
flashObject.appendChild(alink);
document.getElementById('ad_filler_placeholder').appendChild(flashObject);
} else {
/* this code will be executed if IE8 or lower, sadly appending alink into flashobject fails */
flashObject.appendChild(alink);
document.getElementById('ad_filler_placeholder').appendChild(flashObject);
}