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