javascript タグ内のパラメーター (QueryString を使用) を source 属性として ASP.NET ページに送信するにはどうすればよいですか?
例:<script language="javascript" src="myDomain/myPage.aspx?id=123&no=43"></script>
そして、「myPage.aspx」で何をしなければなりませんか?
たとえば、srcクエリ文字列に従ってスクリプトタグに画像を送信したいとします。
javascript タグ内のパラメーター (QueryString を使用) を source 属性として ASP.NET ページに送信するにはどうすればよいですか?
例:<script language="javascript" src="myDomain/myPage.aspx?id=123&no=43"></script>
そして、「myPage.aspx」で何をしなければなりませんか?
たとえば、srcクエリ文字列に従ってスクリプトタグに画像を送信したいとします。
script タグは、ページに JavaScript コードを含めるために使用されます。ページに画像を表示したい場合は、たとえ動的に生成されたものであっても、script タグではなく img タグを使用する必要があります。
<img src="myDomain/myPage.aspx?id=123&no=43" alt="some text" />
通常、これには HttpHandler (aspx の代わりに ashx) を使用し、イメージを構築 (またはファイルから読み取り) し、正しい MIME タイプ、長さで応答でデータを送信するだけで済みます。など
HttpHandler を使用して DB から画像を取得する方法については、このリファレンスを参照してください。
myPage.aspx で何をしようとしているのか明確ではありません。スクリプトタグなので、javascriptコードを生成しているはずです。しかし、JavaScript コードを動的に生成する必要がある理由はわかりません。JavaScript 変数は基本的にグローバル スコープを持っているため、スクリプト タグを含める前に変数でイメージを定義します。
したがって、HTML ページでは、ヘッダーで次のようにします。
<script type="text/javascript">
var imageURL = 'http://www.google.com/intl/en_ALL/images/logo.gif';
</script>
<script src="myScript.js" type="text/javascript"></script>
そして、myScript.js で:
alert("The image URL is: " + imageURL);
//do whatever processing with the image that you need to do...
Google アナリティクスは以前はこのように機能していました (よりオブジェクト指向のアプローチに移行する前)。
スクリプト タグに画像を送信するのはなぜですか? 基本的に、あなたが持っているものはクライアント側で機能します。MYPage.aspx では、送信したいものを出力する必要があります。
CSS、Javascript、画像などを動的に提供するのに最適な HttpHandler を使用することをお勧めします
必要なのは、<SCRIPT>
タグに ASPX ページを指す SRC 属性を指定することだけです。唯一の秘訣は、javascript を返す ASPX ページで contentType を に設定する必要があることですtext/javascript
。(有効な JavaScript のみが返されることを確認してください。)
動作することを証明する 2 つのファイルを次に示します。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script src="JavascriptLibraryTest.js.aspx?Color=red" type="text/javascript" charset="utf-8">
</script>
</head>
<body>
<a href="javascript:showServerGeneratedJavascript()">show Server Generated Javascript</a>
</body>
<%@ Page Language="C#" %>
<%
Response.ContentType = "text/javascript";
string color = Request["Color"];
string now = DateTime.Now.ToString();
%>
function showServerGeneratedJavascript(){
alert('<%=now %>\n<%=color %>');
}