“LlSetContentType”的版本间的差异
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llSetContentType( key request_id, integer content_type );…”) |
|||
| 第94行: | 第94行: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| − | ! | + | ! content_type |
! | ! | ||
| − | ! | + | ! Content-Type |
|- | |- | ||
| − | | | + | | [[CONTENT_TYPE_ATOM]] |
| − | | | + | | 4 |
| − | | | + | | application/atom+xml |
|- | |- | ||
| − | | | + | | [[CONTENT_TYPE_FORM]] |
| − | | | + | | 7 |
| − | | | + | | application/x-www-form-urlencoded |
| + | |- | ||
| + | | [[CONTENT_TYPE_HTML]] | ||
| + | | 1 | ||
| + | | text/html | ||
| + | |- | ||
| + | | [[CONTENT_TYPE_JSON]] | ||
| + | | 5 | ||
| + | | application/json | ||
| + | |- | ||
| + | | [[CONTENT_TYPE_LLSD]] | ||
| + | | 6 | ||
| + | | application/llsd+xml | ||
| + | |- | ||
| + | | [[CONTENT_TYPE_RSS]] | ||
| + | | 8 | ||
| + | | application/rss+xml | ||
| + | |- | ||
| + | | [[CONTENT_TYPE_TEXT]] | ||
| + | | 0 | ||
| + | | text/plain | ||
| + | |- | ||
| + | | [[CONTENT_TYPE_XHTML]] | ||
| + | | 3 | ||
| + | | application/xhtml+xml | ||
| + | |- | ||
| + | | [[CONTENT_TYPE_XML]] | ||
| + | | 2 | ||
| + | | application/xml | ||
|} | |} | ||
2020年8月22日 (六) 07:06的最新版本
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
| 函数名 |
|---|
| Function: llSetContentType( key request_id, integer content_type ); |
| 参数:
• key request_id – 有效的http_request()密钥 • integer content_type – 媒体类型使用以下llHTTPResponse(request_id,…) |
| 返回值:通过llHTTPResponse设置任何后续LSL HTTP服务器响应的Internet媒体类型“Content-Type”头。 |
| 注意事项 |
|---|
当使用CONTENT_TYPE_HTML时,这个设置将被忽略,除非所有这些条件都满足:
web浏览器就是Second Life客户机 用户(登录到查看页面的SL客户端)是对象的所有者。 用户(登录到查看页面的SL客户端)连接到对象所在的区域 显然,这与组拥有的对象不兼容。绕过这个限制的一种方法是临时安装一个中继器。 |
| 示例 |
|---|
key url_request;
string HTML_BODY =
"<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>";
default
{
state_entry()
{
url_request = llRequestURL();
}
http_request(key id, string method, string body)
{
key owner = llGetOwner();
vector ownerSize = llGetAgentSize(owner);
if (url_request == id)
{
//如果你通常不重置查询ID
//现在是开始的好时机!
url_request = "";
if (method == URL_REQUEST_GRANTED)
{
llOwnerSay("URL: " + body);
// if owner in sim
if (ownerSize)// != ZERO_VECTOR
llLoadURL(owner, "I got a new URL!", body);
}
else if (method == URL_REQUEST_DENIED)
llOwnerSay("Something went wrong, no url:\n" + body);
}
else
{
llOwnerSay("request body:\n" + body);
// if owner in sim
if (ownerSize)// != ZERO_VECTOR
{
llSetContentType(id, CONTENT_TYPE_HTML);
llHTTPResponse(id, 200, HTML_BODY);
}
else
{
llSetContentType(id, CONTENT_TYPE_TEXT);
llHTTPResponse(id, 200, "OK");
}
}
}
}
|
| 相关函数 |
|---|
| llHTTPResponse |
| 相关事件 |
|---|
| http_request |
附录:(表格)
| content_type | Content-Type | |
|---|---|---|
| CONTENT_TYPE_ATOM | 4 | application/atom+xml |
| CONTENT_TYPE_FORM | 7 | application/x-www-form-urlencoded |
| CONTENT_TYPE_HTML | 1 | text/html |
| CONTENT_TYPE_JSON | 5 | application/json |
| CONTENT_TYPE_LLSD | 6 | application/llsd+xml |
| CONTENT_TYPE_RSS | 8 | application/rss+xml |
| CONTENT_TYPE_TEXT | 0 | text/plain |
| CONTENT_TYPE_XHTML | 3 | application/xhtml+xml |
| CONTENT_TYPE_XML | 2 | application/xml |