Html 有没有简单的方法让本地网页显示URL中传递的变量?
我正在试验一个Firefox扩展,当满足某些条件时,它将加载任意URL(仅通过HTTP或HTTPS) 在某些条件下,我只想显示一条消息,而不是从internet请求URL 我想简单地在本地建立一个网页来显示信息。关键是消息需要包含一个变量 有没有一种简单的方法来创建一个本地网页,以便它可以在URL中显示传递给它的变量?我更喜欢只使用HTML和CSS,但如果绝对需要的话,添加一点内联javascript就可以了 举个简单的例子,当扩展调用以下内容时:Html 有没有简单的方法让本地网页显示URL中传递的变量?,html,url,firefox,parameters,local,Html,Url,Firefox,Parameters,Local,我正在试验一个Firefox扩展,当满足某些条件时,它将加载任意URL(仅通过HTTP或HTTPS) 在某些条件下,我只想显示一条消息,而不是从internet请求URL 我想简单地在本地建立一个网页来显示信息。关键是消息需要包含一个变量 有没有一种简单的方法来创建一个本地网页,以便它可以在URL中显示传递给它的变量?我更喜欢只使用HTML和CSS,但如果绝对需要的话,添加一点内联javascript就可以了 举个简单的例子,当扩展调用以下内容时: folder/messageoutput.ht
folder/messageoutput.html?t=Text%20到%20显示
我想看看:
消息:要显示的文本
显示在浏览器的视口中。您可以使用Location对象的“搜索”属性从URL末尾提取变量:
var a = window.location.search;
在您的示例中,a将等于“?t=文本%20到%20显示”
接下来,您将希望从字符串的开头去掉前导问号。if语句只是为了防止浏览器未将其包含在搜索属性中:
var s = a.substr(0, 1);
if(s == "?"){s = substr(1);}
为了防止您得到一个包含多个变量的URL,您可能需要在符号处拆分查询字符串,以生成名称-值对字符串数组:
var R = s.split("&");
接下来,在等号处拆分名称-值对字符串,以将名称与值分开。将名称存储为数组的键,将值存储为与键对应的数组值:
var L = R.length;
var NVP = new Array();
var temp = new Array();
for(var i = 0; i < L; i++){
temp = R[i].split("=");
NVP[temp[0]] = temp[1];
}
最后,将变量文本插入到文档中。一个简单的例子(需要调整以匹配您的文档结构)是:
您可以使用Location对象的“search”属性从URL末尾提取变量:
var a = window.location.search;
在您的示例中,a将等于“?t=文本%20到%20显示”
接下来,您将希望从字符串的开头去掉前导问号。if语句只是为了防止浏览器未将其包含在搜索属性中:
var s = a.substr(0, 1);
if(s == "?"){s = substr(1);}
为了防止您得到一个包含多个变量的URL,您可能需要在符号处拆分查询字符串,以生成名称-值对字符串数组:
var R = s.split("&");
接下来,在等号处拆分名称-值对字符串,以将名称与值分开。将名称存储为数组的键,将值存储为与键对应的数组值:
var L = R.length;
var NVP = new Array();
var temp = new Array();
for(var i = 0; i < L; i++){
temp = R[i].split("=");
NVP[temp[0]] = temp[1];
}
最后,将变量文本插入到文档中。一个简单的例子(需要调整以匹配您的文档结构)是:
getArg('t')代码>
getArg('t')代码>
如果您想将插件中的消息显示到浏览器页面中,最简单的方法是从javascript代码中创建/重用特定选项卡,然后在其中写入消息?您真的反对使用PHP吗?它就像$_GET['t']一样简单,其中t是您的变量名。@zsawaf这需要运行PHP服务器吗?如果您想在浏览器页面中显示来自加载项的消息,最简单的方法是从javascript代码中创建/重用特定的选项卡,然后在其中写入消息。您真的反对使用PHP吗?它就像$_GET['t']一样简单,其中t是变量名。@zsawaf需要运行PHP服务器吗?