我需要为移动设备构建一个网页.只有一件事我还没弄明白:如何通过点击文字来触发电话?
我可以输入特殊的网址,例如mailto:电子邮件的标签吗?
设备特定解决方案不是优选的.
我知道iPhone会自动识别电话号码并为此创建一个链接,但如果可以对图像进行此操作也会很棒......对大多数移动设备也是如此.
我有一个样式表从外部域加载图像,我需要它从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) 我有一个旧的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 …
解决了!!
我正在尝试创建我的应用程序的自定义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
我正在我的计算机上注册一个自定义协议处理程序,它调用此应用程序:
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) 我正在研究是否可以使用自定义URL应用程序协议(例如custom://)来启动我的应用程序,但看起来所有实现都修改了HKCR.这导致一些讨厌的安全警告(我相信因为UAC).有谁知道是否可以安装自定义URL协议作为HKCU级别?或者另一种避免这些警告的方法?
谢谢!
url-protocol ×6
c# ×2
html ×2
protocols ×2
http ×1
https ×1
javascript ×1
onclick ×1
phone-call ×1
registry ×1
url ×1