创建一个要使用的URL,而不是多个URL
Create one URL to be used instead of many URLs
我需要从许多URL中创建一个通用URL,例如,如果我有5个URL用于某些页面,我想创建一个新的URL作为这5个页面的缩短URL,换句话说,我需要这些URL以某种方式保存其他URL,并在我将其放在地址栏中时将其返回给我,如果它在选项卡中打开它们,那将是完美的
我不知道如何才能做到这一点,一般来说如何创建URL?以及如何让它做这样的事情。
这可能是一个基本问题!!但我是Web应用程序中的一个小人物,所以很抱歉,如果它还不够清楚的话。
您可以使用PaseteBin及其API。他们有一个API列表,您的网络应用程序可以使用这些API以明文格式存储URL,并将其返回给您。生成的pastebin URL将是包含其他URL的URL。
您需要一个运行php、jsp或任何其他后端语言的Web服务器。然后,您需要使用其中一种语言编写一个页面,该语言将一个链接数组作为get变量,并返回一个javascript主体,该主体在选项卡中打开这个url列表。
例如php
使用serialize和unserialize PHP函数将链接数组发送到PHP页面。此函数为您提供数组类型的可存储(字符串)版本。有关用法的更多信息,请阅读http://php.net/manual/en/function.serialize.php和http://www.php.net/manual/en/function.unserialize.php
然后循环url,并为每个url添加这样的echo消息。
<?php
foreach ($arrayOfUrls as $url) {
echo '<script type="text/javascript">var win = window.open('.$url.', "_blank"); </script>';
?>
最后,您需要从javascript代码中调用这个页面,您需要序列化具有url列表的JS数组。
你可以使用这个代码。
/*
* PHP Serialize
* Morten Amundsen
* mor10am@gmail.com
*/
function php_serialize(obj)
{
var string = '';
if (typeof(obj) == 'object') {
if (obj instanceof Array) {
string = 'a:';
tmpstring = '';
count = 0;
for (var key in obj) {
tmpstring += php_serialize(key);
tmpstring += php_serialize(obj[key]);
count++;
}
string += count + ':{';
string += tmpstring;
string += '}';
} else if (obj instanceof Object) {
classname = obj.toString();
if (classname == '[object Object]') {
classname = 'StdClass';
}
string = 'O:' + classname.length + ':"' + classname + '":';
tmpstring = '';
count = 0;
for (var key in obj) {
tmpstring += php_serialize(key);
if (obj[key]) {
tmpstring += php_serialize(obj[key]);
} else {
tmpstring += php_serialize('');
}
count++;
}
string += count + ':{' + tmpstring + '}';
}
} else {
switch (typeof(obj)) {
case 'number':
if (obj - Math.floor(obj) != 0) {
string += 'd:' + obj + ';';
} else {
string += 'i:' + obj + ';';
}
break;
case 'string':
string += 's:' + obj.length + ':"' + obj + '";';
break;
case 'boolean':
if (obj) {
string += 'b:1;';
} else {
string += 'b:0;';
}
break;
}
}
return string;
}
输出url将类似于yourphppage.php?urls=""a:3{i:0;s:4:"URL1";i:1;s:8:"URL2";i:2;s:7:"URL2";}
我需要这些URL以某种方式保存其他URL,并在我将其放入地址栏时将其返回给我
做到这一点的唯一途径是在资源层面。例如,你可以使用一个HTML文档的URL,它会立即打开5个弹出窗口(尽管这会被大多数浏览器阻止)或在框架中打开5个页面(这将是一个糟糕的UI)。
通常如何创建URL?
运行web服务器。然后将运行机器的地址(其IP地址或使用DNS设置的主机名)与由您选择的web服务器软件处理的本地部分结合起来。
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 一次又一次地在新的和相同的选项卡中打开一个url
- 如何使用javascript获取下一个/转发url
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- Mapbox JS,来自URL的GeoJSON featureCollection对象只添加了一个标记
- 在iframe中加载url并添加一个类
- 有没有一个Nodejs库可以序列化和反序列化命名组件的路径(比如URL路径名)
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- javascript window.location在检查firebug时给了我一个错误的url路径
- 一个jsp中有两个操作URL
- 如何使用特定的javascript函数创建一个url,以便在加载页面时运行
- 使用javascript加载并显示来自另一个域的页面,而不显示原始URL
- 将php页面URL中的变量传递给JavaScript和另一个php
- 如何使用JQuery提取URL中最后一个/分隔符之前的最后一个值
- Javascript/jQuery获取所有url参数并添加/更改一个参数
- 想制作一个基于URL的音频播放器,但Javascript不起作用
- 如何创建一个组件,我可以设置在 Angular 2 中的属性中获取 URL 数据
- 根据jQuery中的另一个链接更改url
- 请我需要一个可以编辑mp3 URL的JavaScript代码