Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使iphone上的web浏览器自动添加http://www. 在任何URL之前_Http_Url_Web - Fatal编程技术网

如何使iphone上的web浏览器自动添加http://www. 在任何URL之前

如何使iphone上的web浏览器自动添加http://www. 在任何URL之前,http,url,web,Http,Url,Web,我正在为iphone制作一个web浏览器,我想知道如何让web浏览器在用户输入任何URL之前自动添加http://www。您没有向我们显示任何代码,甚至没有指定您的语言,因此我假设您要求的是正确的算法,您已经知道在哪里添加: 如果要添加http://www.对于任何URL,您当然可以,但这很难推荐。例如,人们会认为http://www.en.wikipedia.org不起作用。我相信你能找到一页它会断开的地方http://www.https://bank.example.com绝对无效 我建议:

我正在为iphone制作一个web浏览器,我想知道如何让web浏览器在用户输入任何URL之前自动添加
http://www

您没有向我们显示任何代码,甚至没有指定您的语言,因此我假设您要求的是正确的算法,您已经知道在哪里添加:

如果要添加
http://www.
对于任何URL,您当然可以,但这很难推荐。例如,人们会认为
http://www.en.wikipedia.org
不起作用。我相信你能找到一页它会断开的地方<代码>http://www.https://bank.example.com绝对无效

我建议:

  • 如果URL没有以指定的协议开头(regex表示“指定的协议”:
    ^\w+\:\/\/\/
    ),请在
    http://
  • 尝试DNS查找或访问URL
  • 如果查找失败,并且URL尚未以
    www.
    开头,请在
    www.
    前面加上前缀
  • 你可以停在这里。您已经尽可能地处理了前缀
  • 如果添加了
    www.
    ,请进行新的查找
  • 如果查找仍然失败,请尝试在URL中添加一个流行的顶级域(
    .com
    .net
    .org
    ,…),包括
    www.
    您甚至可以观察用户的习惯,找出用户访问最多的顶级域,并尝试首先附加它们

    当然,如果你想要更好的东西,你可以。观察任何现代桌面浏览器中地址栏的行为:它基本上对曾经访问过的地址集执行全文搜索,并根据访问次数(和新鲜度?)进行加权。您甚至可以跟踪访问次数和访问字符串,而不提供不相关输入的URL。Chrome确实跟踪输入与URL=>点击次数(建议成功的频率)和未命中次数(建议失败的频率)


    很可能,您需要为此制作自己的虚拟键盘,但与编写渲染核心或javascript引擎(甚至是速度相当快的CSS引擎)相比,这只是一小部分工作。

    “1)当用户确认URL时2)如果它不是以
    http://www.
    ,3)添加
    http://www.
    将其删除。你对我们还有什么期望?当然,您应该处理仅以
    http://
    www.
    开头的情况(并且允许
    https://
    和其他协议…)我实际上是在xcode上制作web浏览器,我希望它有多个窗口,比如弹出窗口。我实际上是在xcode上制作web浏览器,我希望它有多个窗口,比如弹出窗口。这如何使我的答案无效?您仍然没有发布足够的代码,我们无法修复或扩展它。@Synthesis webView-(iAction)搜索:(id)发件人{[webView loadRequest:[NSURLRequestWithURL:[NSURL URLWithString:[searchBar text]]]];}-(void)viewDidLoad{[super viewDidLoad];webView.scalesPageToFit=YES;//加载视图后,通常从nib执行任何其他设置。}-(void)didReceiveMemoryWarning{[super-didReceiveMemoryWarning];//处理所有可以重新创建的资源。}-(void)dealloc{[webView release];[super-dealloc];}@anumparahlawat如果您将此内容发布到问题中(格式正确),您可能会得到更多答案。当然,您应该提前完成。