「Knockout.js/htmlバインディング」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
[[Knockout.js]]の'''htmlバインディング'''とは、パラメーターの値に応じ、関連付けられた[[DOM]]要素内の[[HTML]]を書き換える[[Knockout.js/可視バインディング|可視バインディング]]のひとつである。
+
[[Knockout]]の'''htmlバインディング'''とは、パラメーターの値に応じ、関連付けられた[[DOM]]要素内の[[HTML]]を書き換える[[Knockout/可視バインディング|可視バインディング]]のひとつである。
  
[[Knockout.js/textバインディング|textバインディング]]とほぼ同じだが、htmlバインディングは文字列がHTMLエスケープされずに直接書き込まれる。つまり一歩間違えば重大な[[セキュリティホール]]となりうる諸刃の剣である。
+
[[Knockout/textバインディング|textバインディング]]とほぼ同じだが、htmlバインディングは文字列がHTMLエスケープされずに直接書き込まれる。つまり一歩間違えば重大な[[セキュリティホール]]となりうる諸刃の剣である。
  
 
== パラメーター ==
 
== パラメーター ==
[[Knockout.js]]は、関連付られたDOM要素内のHTML(innerHTMLプロパティ)を、パラメーターの値で上書きする。
+
[[Knockout]]は、関連付られたDOM要素内のHTML(innerHTMLプロパティ)を、パラメーターの値で上書きする。
  
このパラメーターが[[Knockout.js/observableオブジェクト|observableオブジェクト]]の場合は、値を更新するたびにHTMLも更新する。パラメーターが[[Knockout.js/observableオブジェクト|observableオブジェクト]]でない場合はバインディング適用時([[Knockout.js/applyBindings関数|applyBindings関数]]実行時)に1回だけ更新されて以降は更新されない。
+
このパラメーターが[[Knockout/observable]]の場合は、値を更新するたびにHTMLも更新する。パラメーターがobservableでない場合はバインディング適用時([[Knockout/applyBindings]]実行時)に1回だけ更新されて以降は更新されない。
  
 
パラメーターの値の[[型]]が数値(number型)または文字列(string型)の場合はそのものを、それ以外の場合はtoString()メソッドを実行した結果でテキストを上書きする。
 
パラメーターの値の[[型]]が数値(number型)または文字列(string型)の場合はそのものを、それ以外の場合はtoString()メソッドを実行した結果でテキストを上書きする。
12行目: 12行目:
 
== 使用例 ==
 
== 使用例 ==
 
=== hello world ===
 
=== hello world ===
htmlバインディングを使用した「[[hello, world]]」はこんな感じ。
+
[[hello, world]]」はこんな感じ。
内容自体は[[Knockout.js/textバインディング|textバインディング]]とほぼ同じである。HTMLがエスケープされるか、されないかの違いしかない。
+
内容自体は[[Knockout/textバインディング|textバインディング]]とほぼ同じである。HTMLがエスケープされるか、されないかの違いしかない。
  
 
<source lang="html5">
 
<source lang="html5">
46行目: 46行目:
 
htmlバインディングはDOM要素のinnerHTMLプロパティを使用して書き換えを行うため、使い方を誤れば[[スクリプト・インジェクション]]攻撃をうける[[セキュリティホール]]となりうるので、信頼されていないモデルの値は絶対に使用してはいけない。
 
htmlバインディングはDOM要素のinnerHTMLプロパティを使用して書き換えを行うため、使い方を誤れば[[スクリプト・インジェクション]]攻撃をうける[[セキュリティホール]]となりうるので、信頼されていないモデルの値は絶対に使用してはいけない。
  
コンテンツが安全であることを保証できない場合は、[[Knockout.js/textバインディング|textバインディング]]を使用すること。
+
コンテンツが安全であることを保証できない場合は、[[Knockout/textバインディング|textバインディング]]を使用すること。
  
 
== 関連項目 ==
 
== 関連項目 ==
* [[Knockout.js]]
+
* [[Knockout]]
** [[Knockout.js/可視バインディング|可視バインディング]]
+
** [[Knockout/可視バインディング|可視バインディング]]
  
 
== 参考文献 ==
 
== 参考文献 ==

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: