当 url 具有主题标签和问号时,注册自定义 URI 方案在 Windows 7 上不起作用

dupuis2387

所以我必须注册一个自定义的 uri,cnx://,让 IE 启动 Chrome。

我已经在 Windows 7、Windows 8 和 Windows 10 上测试了我的注册表项。

一切正常,除非在 Win7 上有一个带有主题标签和问号的 URL:

cnx: // www.url.com/something/#place/page.php?foo=bar

无论出于何种原因,它都会被破坏为

cnx: // www.url.com/something/?foo=bar#place/page.php

我已经通过将重要的注册表项从

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CNX\shell\open\command]
@="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\Chrome.exe\" %1"

只是

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CNX\shell\open\command]
@="cmd /k echo %1"

它在命令提示符中明确显示了重整。

仅在 Windows 7 上发生。在 Win8 和 Win10 上工作没有问题。和其他 URL 约定在 windows7 上工作得很好,只是当它有 # 和 ?

然后,它被破坏了。

当然,做http://www.url.com/something/#place/page.php?foo=bar工作得很好。它只会使用此自定义 uri 功能跳闸。

任何人都可以提供解决方法吗?

我尝试用 %23place 疯狂编码#place,但后来我失去了理智,试图将字符串替换回原来的#place

麻古
@ECHO OFF
SETLOCAL

:: This part merely for demonstration - begin
CALL :sub "cnx:// www.url.com/something/#place/page.php?foo=bar"
CALL :sub "cnx:// www.url.com/something/?foo=bar#place/page.php"
GOTO :eof
:: This part merely for demonstration - end

:sub
FOR /f "tokens=1-3delims=?#" %%a IN (%1) DO (
 SET "parta=%%a"
 SET "partb=%%b"
 SET "partc=%%c"
)

SET "combo=%parta%#%partb%?%partc%"

IF %* neq "%combo%" SET "combo=%parta%#%partc%?%partb%"

ECHO "C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe %combo%"

GOTO :EOF

%1在 Win7 中,ISTM的提供方式不同,所以诀窍是对?#进行标记,然后适当地重新组合为标记。

关键应该是

@="thisbatch "%1""

(我相信 - 这里没有专家。重点%1应该是"quoted"


[对评论的回应 - 即时,未经测试;可能需要一些转义...]

@="cmd /c cd C:\Program Files (x86)\Google\Chrome\Application&FOR /f "tokens=1-3delims=?#" %%a IN ("%1") DO (if "%%a# %%b?%%c"=="%1" (chrome.exe %1) else (chrome.exe %%a#%%c?%%b))"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Typography.Capital在Windows 7上不起作用

PHP 7在Windows 10上不起作用

Laravel 5.2在Windows 10上的PHP 7上不起作用

安装在Windows 7上不起作用

mongod和mongo命令在Windows 10上不起作用

自定义URI方案“不受支持的URL”

PHP exec(),shell_exec(),system(),passthru()在Windows 7 / IIS上不起作用

WhatsApp自定义URL方案在Webview中不起作用

角表情符号选择器在Windows 7上不起作用

编辑并继续在Windows 7(32位操作系统)上不起作用

为什么'ipconfig'在Windows 7上不起作用

Shift键在Windows 7 64位HP Compaq Pro 6300 SFF上不起作用

以http开头的自定义URL方案不起作用

XAMPP中的.htaccess文件在Windows 7上不起作用

procontroll库在Windows 7、64位上不起作用

Python子进程在Windows 7上不起作用

PHP 5.5 cURL在Windows 7 64位PHP 5.5 VC11上不起作用

npm install在具有git依赖项的Windows上不起作用

gpedit.msc在Windows 7 64位上不起作用

Mobilefirst 7-> Windows 8 URL激活方案参数

当控件没有焦点时,双击事件在Windows 7 + IE 11上不起作用

无法使用自定义URI方案从URL打开Tha应用

入口点路径定义为“ /”的RAP应用程序在Tomcat7上不起作用

getStylesheets()。add(...)在Windows上不起作用(7)

utf8_encode()和curl_init()在PHP7上不起作用

URI方案名称“ pack”已经具有注册的自定义解析器

检查特定标签在标签和存档页面上不起作用 - 解决方案?

Cordova 自定义 URL 方案插件不起作用

Xamarin IOS 自定义 URL 方案在 iOS 14 中不起作用