metaObject.httpEquivは、meta要素のhttpEquiv属性の値を取得、もしくは、設定するプロパティ。
meta要素のhttpEquiv属性を指定することで、meta要素はプラグマディレクティブとなる。内容は、content属性に指定する。
httpEquiv属性は、HTTPレスポンスヘッダをシミュレートしたいときに使う。
name属性を指定した場合、httpEquiv属性は指定しない。
構文
取得
var $httpEquiv = $metaElementReference.httpEquiv;
戻り値
meta要素のhttpEquiv属性の値。
設定
$metaElementReference.httpEquiv = "metaElementHttpEquiv";
- metaElementHttpEquiv
- 指定例
- content-type:文字エンコーディング。
- default-style:優先スタイルシート。
- refresh:時限リダイレクト。更新時間間隔。
サンプル
文字エンコーディングを変更:
優先スタイルシートを変更:
時限リダイレクトを変更:
- インラインフレーム内のドキュメントの1つ目のmeta要素の
- httpEquiv属性の値:
- content属性の値:
- インラインフレーム内のドキュメントの2つ目のmeta要素の
- httpEquiv属性の値:
- content属性の値:
- インラインフレーム内のドキュメントの3つ目のmeta要素の
- httpEquiv属性の値:
- content属性の値:
サンプルの動作について
- 2014/01/20現在、Chromeでのみ動作確認。
- 「文字エンコーディングを変更:」の右横の各ボタンをクリックすると、インラインフレーム内のドキュメントの1つ目のmeta要素のcontent属性値を、各ボタン上のテキストに変更する。
- 「優先スタイルシートを変更:」の右横の各ボタンをクリックすると、インラインフレーム内のドキュメントの2つ目のmeta要素のcontent属性値を、各ボタン上のテキストに変更する。
- 「時限リダイレクトを変更:」の右横の各ボタンをクリックすると、インラインフレーム内のドキュメントの3つ目のmeta要素のcontent属性値を、各ボタン上のテキストに変更する。
- meta要素のhttpEquiv属性値とcontent属性値を下のリストに表示する。
サンプルのソースコード
JavaScript
<script type="text/javascript">
window.onload = function () {
getHttpEquiv();
getContent();
}
function setContent( $i, $content ) {
var $iframeElementReference = document.getElementById( "sampleIFrame" );
var $metaElementsReference = $iframeElementReference.contentDocument.getElementsByTagName( "meta" );
$metaElementsReference[$i].content = $content;
getContent();
}
function getContent() {
var $iframeElementReference = document.getElementById( "sampleIFrame" );
var $metaElementsReference = $iframeElementReference.contentDocument.getElementsByTagName( "meta" );
for( var $i = 0; $i < $metaElementsReference.length; $i++ ){
var $content = $metaElementsReference[$i].content;
document.getElementById( "sampleOutputContent[" + $i + "]" ).innerHTML = $content;
}
}
function getHttpEquiv() {
var $iframeElementReference = document.getElementById( "sampleIFrame" );
var $metaElementsReference = $iframeElementReference.contentDocument.getElementsByTagName( "meta" );
for( var $i = 0; $i < $metaElementsReference.length; $i++ ){
var $httpEquiv = $metaElementsReference[$i].httpEquiv;
document.getElementById( "sampleOutput[" + $i + "]" ).innerHTML = $httpEquiv;
}
}
</script>
window.onload = function () {
getHttpEquiv();
getContent();
}
function setContent( $i, $content ) {
var $iframeElementReference = document.getElementById( "sampleIFrame" );
var $metaElementsReference = $iframeElementReference.contentDocument.getElementsByTagName( "meta" );
$metaElementsReference[$i].content = $content;
getContent();
}
function getContent() {
var $iframeElementReference = document.getElementById( "sampleIFrame" );
var $metaElementsReference = $iframeElementReference.contentDocument.getElementsByTagName( "meta" );
for( var $i = 0; $i < $metaElementsReference.length; $i++ ){
var $content = $metaElementsReference[$i].content;
document.getElementById( "sampleOutputContent[" + $i + "]" ).innerHTML = $content;
}
}
function getHttpEquiv() {
var $iframeElementReference = document.getElementById( "sampleIFrame" );
var $metaElementsReference = $iframeElementReference.contentDocument.getElementsByTagName( "meta" );
for( var $i = 0; $i < $metaElementsReference.length; $i++ ){
var $httpEquiv = $metaElementsReference[$i].httpEquiv;
document.getElementById( "sampleOutput[" + $i + "]" ).innerHTML = $httpEquiv;
}
}
</script>
HTML
<p>
文字エンコーディングを変更:
<button onclick="setContent(0,'text/html; charset=UTF-8');">text/html; charset=UTF-8</button>
<button onclick="setContent(0,'text/html; charset=Shift_JIS');">text/html; charset=Shift_JIS</button>
</p>
<p>
優先スタイルシートを変更:
<button onclick="setContent(1,'優先スタイルシート');">優先スタイルシート</button>
<button onclick="setContent(1,'代替スタイルシート');">代替スタイルシート</button>
</p>
<p>
時限リダイレクトを変更:
<button onclick="setContent(2,5);">5</button>
<button onclick="setContent(2,30);">30</button>
<button onclick="setContent(2,60);">60</button>
</p>
<ol>
<li>インラインフレーム内のドキュメントの1つ目のmeta要素の
<ul>
<li>httpEquiv属性の値:<span id="sampleOutput[0]"></span></li>
<li>content属性の値:<span id="sampleOutputContent[0]"></span></li>
</ul>
</li>
<li>インラインフレーム内のドキュメントの2つ目のmeta要素の
<ul>
<li>httpEquiv属性の値:<span id="sampleOutput[1]"></span></li>
<li>content属性の値:<span id="sampleOutputContent[1]"></span></li>
</ul>
</li>
<li>インラインフレーム内のドキュメントの3つ目のmeta要素の
<ul>
<li>httpEquiv属性の値:<span id="sampleOutput[2]"></span></li>
<li>content属性の値:<span id="sampleOutputContent[2]"></span></li>
</ul>
</li>
</ol>
<iframe id="sampleIFrame" src="http://alphasis.info/wp-content/uploads/2014/02/sampleMeta-httpEquiv.html" width="300px" height="100px">
<p>お使いのブラウザはiframeに対応していません。</p>
</iframe>
文字エンコーディングを変更:
<button onclick="setContent(0,'text/html; charset=UTF-8');">text/html; charset=UTF-8</button>
<button onclick="setContent(0,'text/html; charset=Shift_JIS');">text/html; charset=Shift_JIS</button>
</p>
<p>
優先スタイルシートを変更:
<button onclick="setContent(1,'優先スタイルシート');">優先スタイルシート</button>
<button onclick="setContent(1,'代替スタイルシート');">代替スタイルシート</button>
</p>
<p>
時限リダイレクトを変更:
<button onclick="setContent(2,5);">5</button>
<button onclick="setContent(2,30);">30</button>
<button onclick="setContent(2,60);">60</button>
</p>
<ol>
<li>インラインフレーム内のドキュメントの1つ目のmeta要素の
<ul>
<li>httpEquiv属性の値:<span id="sampleOutput[0]"></span></li>
<li>content属性の値:<span id="sampleOutputContent[0]"></span></li>
</ul>
</li>
<li>インラインフレーム内のドキュメントの2つ目のmeta要素の
<ul>
<li>httpEquiv属性の値:<span id="sampleOutput[1]"></span></li>
<li>content属性の値:<span id="sampleOutputContent[1]"></span></li>
</ul>
</li>
<li>インラインフレーム内のドキュメントの3つ目のmeta要素の
<ul>
<li>httpEquiv属性の値:<span id="sampleOutput[2]"></span></li>
<li>content属性の値:<span id="sampleOutputContent[2]"></span></li>
</ul>
</li>
</ol>
<iframe id="sampleIFrame" src="http://alphasis.info/wp-content/uploads/2014/02/sampleMeta-httpEquiv.html" width="300px" height="100px">
<p>お使いのブラウザはiframeに対応していません。</p>
</iframe>
インラインフレーム内のHTMLドキュメント
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="default-style" content="優先スタイルシート">
<meta http-equiv="refresh" content="60">
<link rel="stylesheet" type="text/css" href="http://alphasis.info/wp-content/uploads/2014/02/sampleMeta-httpEquiv.css" title="優先スタイルシート">
<link rel="stylesheet alternate" type="text/css" href="http://alphasis.info/wp-content/uploads/2014/02/sampleMeta-httpEquiv-blue.css" title="代替スタイルシート">
</head>
<body>
<p>【インラインフレーム内ドキュメント】</p>
<p>このテキストは、インラインフレーム内のテキスト。</p>
</body>
</html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="default-style" content="優先スタイルシート">
<meta http-equiv="refresh" content="60">
<link rel="stylesheet" type="text/css" href="http://alphasis.info/wp-content/uploads/2014/02/sampleMeta-httpEquiv.css" title="優先スタイルシート">
<link rel="stylesheet alternate" type="text/css" href="http://alphasis.info/wp-content/uploads/2014/02/sampleMeta-httpEquiv-blue.css" title="代替スタイルシート">
</head>
<body>
<p>【インラインフレーム内ドキュメント】</p>
<p>このテキストは、インラインフレーム内のテキスト。</p>
</body>
</html>