次のコードは ASP で正常に動作していました。
// loads the video/presentation/pdf into the central div
$(document).ready(function () {
$(".video, .pdfdoc, .presentation").click(function (е) {
е.preventDefault();
var url = this.href;
if ($(this).hasClass("video")) {
$(".onCenterBig").html('<video width="800" height="500" controls><source src="' + url + '" type="video/mp4" /></video>');
}
else if ($(this).hasClass("pdfdoc")) {
$(".onCenterBig").html('<object data="' + url + '" type="application/pdf" width="880" height="620">alt : <a href="' + url + '">test.pdf</a></object>');
}
else {
$(".onCenterBig").html('<h2>PRESENTATION</h2>');
}
});
});
しかし、プロジェクトを ASP-MVC3 に転送する必要があり、変更したのはファイルのパスだけでした。
...<source src="/Content/media/' + url + '" type="video/mp4" /></video>');
と
'<object data="/Content/media/' + url + '" type="application/pdf" width="880" height="620">alt : <a href=/Content/media/' + url + '"...
問題はファイルパスにあると思いましたが、そうではありません。別の場所(画像付き)で同じ方法でURLを入力し、正常に機能しているためです。
奇妙なことに、3 番目の選択肢 (クリックすると単純に と書くだけ) でさえ、<h2>PRESENTATION</h2>
うまく機能しません。ASPとASP-MVCが違うので、HTMLコードの入力方法はあると思います。
私が使用しているプロジェクトの他の場所で、文字列からページに HTML をロードするために、使用が役立つ@Html.Raw(System.Web.HttpUtility.HtmlDecode(@ViewBag.MediaWindow))
かどうかはわかりません。@Html.Raw....HtmlDecode....
そして、JSコードでそれを悪用する方法がよくわかりません。ブラウザのコンソールを確認すると、エラーや疑わしいものは何も表示されません。
では、その HTML をロードするにはどうすればよいでしょうか?