繁体   English   中英

如何使用javascript标签发送参数?

[英]How send parameters with javascript tag?

如何将javascript标记内的参数(带有QueryString)作为ASP.NET页的源属性发送?

示例: <script language="javascript" src="myDomain/myPage.aspx?id=123&no=43"></script>

而我必须在“ myPage.aspx”中做什么?

例如,我想根据图片的src查询字符串将图片发送到脚本标签。

脚本标签用于在页面中包含javascript代码。 如果要在页面上显示图像,即使是动态生成的图像,也要使用img标签而不是script标签。

<img src="myDomain/myPage.aspx?id=123&no=43" alt="some text" />

通常,您将为此使用HttpHandler(用ashx代替aspx),它只需要构造图像(或从文件中读取),然后将数据以正确的MIME类型,长度发送到响应中等

看到这个参考如何检索使用一个HttpHandler从DB图像。

目前尚不清楚您打算在myPage.aspx中做什么。 由于它是一个脚本标记,因此应生成javascript代码。 但是我看不出您需要动态生成JavaScript代码的任何原因。 Javascript变量基本上具有全局作用域,因此请在包含script标签之前在变量中定义映像。

因此,在您的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 Analytics(分析)过去是这样运作的(之前他们采用的是更面向对象的方法)。

为什么将图片发送到脚本标签? 基本上,您所拥有的将在客户端工作。 在MYPage.aspx中,您需要输出要发送的内容。

我建议使用HttpHandler,它非常适合动态提供CSS,Javascript或图像

您所要做的就是为您的<SCRIPT>标记提供一个指向ASPX页面的SRC属性,就像您想要的那样。 唯一的技巧是您必须具有返回javascript的ASPX页面,将contentType设置为text/javascript (确保仅发送回有效的javascript。)

这里有两个文件证明它有效:

JavascriptLibraryTester.aspx

<!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>

JavascriptLibraryTest.js.aspx

<%@ Page Language="C#" %>
<%
    Response.ContentType = "text/javascript";
    string color = Request["Color"];
    string now = DateTime.Now.ToString();
%>
function showServerGeneratedJavascript(){
    alert('<%=now %>\n<%=color %>');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM