标签: url-protocol

单击手机网页中的链接时如何触发电话

我需要为移动设备构建一个网页.只有一件事我还没弄明白:如何通过点击文字来触发电话?

我可以输入特殊的网址,例如mailto:电子邮件的标签吗?

设备特定解决方案不是优选的.

我知道iPhone会自动识别电话号码并为此创建一个链接,但如果可以对图像进行此操作也会很棒......对大多数移动设备也是如此.

html mobile-phones phone-call url-protocol

464
推荐指数
5
解决办法
89万
查看次数

使用领先的双斜杠来继承URL中的协议有什么缺点吗?即src ="// domain.com"

我有一个样式表从外部域加载图像,我需要它从https://从安全订单页面加载http://从其他页面加载,基于当前的URL.我发现使用双斜杠启动URL会继承当前协议.所有浏览器都支持这种技术吗?

html ex:

<img src="//cdn.domain.com/logo.png" />
Run Code Online (Sandbox Code Playgroud)

css ex:

.class { background: url(//cdn.domain.com/logo.png); }
Run Code Online (Sandbox Code Playgroud)

url https http url-protocol

146
推荐指数
3
解决办法
5万
查看次数

如何从Javascript启动两个或多个自定义URL协议

我有一个旧的html页面,它创建一个脚本文件并使用以下命令执行它:

fsoObject = new ActiveXObject("Scripting.FileSystemObject")
wshObject = new ActiveXObject("WScript.Shell")
Run Code Online (Sandbox Code Playgroud)

我正在尝试修改它并使其也可以从其他浏览器使用.如果你知道答案停止阅读,请回答.如果没有快速回答,这里是我的尝试的描述.我成功地完成了这项工作,但只有当脚本短于2000个字符时才会这样做.我需要帮助超过2000个字符的脚本.

该网页仅供内部使用,因此我很容易在从网络驱动器运行VBScript文件的每台计算机上创建自定义URL协议.

我创建了自定义URL协议,启动VBScript文件,如下所示:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\MyUrlProtocol]
"URL Protocol"=""
@="Url:MyUrlProtocol"
"UseOriginalUrlEncoding"=dword:00000001

[HKEY_CLASSES_ROOT\MyUrlProtocol\DefaultIcon]
@="C:\\Windows\\System32\\WScript.exe"

[HKEY_CLASSES_ROOT\MyUrlProtocol\shell]

[HKEY_CLASSES_ROOT\MyUrlProtocol\shell\open]

[HKEY_CLASSES_ROOT\MyUrlProtocol\shell\open\command]
@="C:\\Windows\\System32\\WScript.exe \"X:\\MyUrlProtocol.vbs\" \"%1\""
Run Code Online (Sandbox Code Playgroud)

MyUrlProtocol.vbs我有这样的:

MsgBox "The length of the link is " & Len(WScript.Arguments(0)) & " characters"
MsgBox "The content of the link is: " & WScript.Arguments(0)
Run Code Online (Sandbox Code Playgroud)

当我点击时,<a href="MyUrlProtocol:test" id="test">click me</a>我看到两条消息,所以一切正常(在Windows 7中使用Chrome和IE测试)

它也适用于我执行时 document.getElementById("test").click()

我认为这可能是解决方案:我会将脚本文本传递给VBS静态脚本,这将创建动态脚本并运行它,但是使用这个系统我不能传递超过2000个字符.

因此,我尝试将脚本文本拆分为小于2000个字符的块,并模拟链接上的几次单击,但只有第一个工作.

所以我尝试过xmlhttp.open("GET","MyUrlProtocol:test",false);,但Chrome说Cross origin requests are only supported for HTTP …

html javascript onclick url-protocol

10
推荐指数
1
解决办法
2575
查看次数

如何在安装应用程序的hkey_classes_root键上添加值

解决了!!

我正在尝试创建我的应用程序的自定义URL协议,当他们访问或点击链接到myapp时启动我的应用程序:start

我的问题是如何知道用户安装我的应用程序的位置.在将HKEY_CLASSES_ROOT注册到注册表时,msi安装程序是否可以放置该位置?

HKEY_CLASSES_ROOT
   myapp
      (Default) = "URL:myapp Protocol"
      URL Protocol = ""
      DefaultIcon
           (Default) = "myapp.exe,1"
      shell
           open
               command
                   (Default) = "C:\Program Files\MyAppFolder\MyApp.exe" "%1"
Run Code Online (Sandbox Code Playgroud)

我想将路径"C:\ Program Files\MyAppFolder\MyApp.exe"更改为用户在安装过程中安装我的应用程序的位置.

HKEY_CLASSES_ROOT
   myapp
      (Default) = "URL:myapp Protocol"
      URL Protocol = ""
      DefaultIcon
           (Default) = "myapp.exe,1"
      shell
           open
               command
                   (Default) = "[TARGETDIR]MyApp.exe "%1""
Run Code Online (Sandbox Code Playgroud)

[TARGETDIR]将自动更改为用户安装文件的位置,例如"C:\ Program Files\MyAppFolder"

有关更多信息,请单击此链接 - > 将应用程序注册到URI方案

c# registry windows-installer visual-studio-setup url-protocol

6
推荐指数
1
解决办法
1660
查看次数

在参数中添加尾部斜杠(/)

我正在我的计算机上注册一个自定义协议处理程序,它调用此应用程序:

        string prefix = "runapp://";

        // The name of this app for user messages
        string title = "RunApp URL Protocol Handler";

        // Verify the command line arguments
        if (args.Length == 0 || !args[0].StartsWith(prefix))
        { 
            MessageBox.Show("Syntax:\nrunapp://<key>", title); return; 
        }

        string key = args[0].Remove(0, "runapp://".Length);
        key.TrimEnd('/'); 

        string application = "";
        string parameters = "";
        string applicationDirectory = "";

        if (key.Contains("~"))
        {
            application = key.Split('~')[0];
            parameters = key.Split('~')[1];
        }
        else
        {
            application = key;
        }


        applicationDirectory = Directory.GetParent(application).FullName;

        ProcessStartInfo psInfo = new ProcessStartInfo(); …
Run Code Online (Sandbox Code Playgroud)

c# protocols url-protocol

3
推荐指数
1
解决办法
1700
查看次数

自定义URL协议,避免安全警告

我正在研究是否可以使用自定义URL应用程序协议(例如custom://)来启动我的应用程序,但看起来所有实现都修改了HKCR.这导致一些讨厌的安全警告(我相信因为UAC).有谁知道是否可以安装自定义URL协议作为HKCU级别?或者另一种避免这些警告的方法?

谢谢!

protocols custom-protocol url-protocol

2
推荐指数
1
解决办法
1657
查看次数