며칠 동안 callto, tel 또는 기타 링크 처리기에 문제가 있습니다. .desktop 애플리케이션을 만들었고 잘 작동합니다.
[Desktop Entry]
Name=uriOpen CALLTO Handler
Exec=echo %u >> ~/testfile
#Exec=uriopen %U
Icon=plasma-mobile-phone
Type=Application
MimeType=x-scheme-handler/callto;
하지만... (주석이 달린 Exec 줄은 원래 명령이자 내 개인 스크립트입니다.) 디버깅하고 파일의 출력을 보기 위해 새 Exec 줄을 추가했습니다.
예를 들어 링크는 다음과 같은 간단한 HTML 코드입니다.
<p><a href="callto://4241">callto</a></p>
링크를 클릭하면 ~/testfile의 출력은 다음과 같습니다.
0.0.16.145
? ! ? ! 왜 이런 결과가 나오나요? :((
20231218 업데이트:
처음에 간단한 문자를 추가하면 작동합니다.
전임자. callto://n4241
내 실행 프로그램 스크립트에서 제거된 sed를 추가했습니다.N특징.
KDE XDG-MIME 문제가 의심됩니까? !
버전: kde Plasma = 5.27.10
KDE 프레임워크 = 5.112.0
Qt = 5.15.11
커널 = 6.6.4-MANJARO(64비트)
답변1
RFC 3986 [1]에 따르면 URI는 다음과 같습니다.
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty
authority = [ userinfo "@" ] host [ ":" port ]
path-absolute = "/" [ segment-nz *( "/" segment ) ]
path-rootless = segment-nz *( "/" segment )
authority
따라서 "4241"은 기본적으로 호스트 로 구문 분석됩니다 .
기수 10 숫자 4241은 기수 16 숫자 00001091로 변환되며 이는 다시 0.0.16.145로 매핑됩니다.
"4241"이 경로로 사용될 가능성이 높으므로 단일 "/"( path-absolute
)를 사용하거나 전혀 사용하지 않습니다( path-rootless
).