假设我想WebKitWebView在GTK中使用一个静态HTML页面.这些页面使用自定义URL方案,让我们调用它custom://.此方案表示在生成HTML时其位置未知的本地文件.我所做的是连接到navigation-requestedwebview 的信号,并执行以下操作:
const gchar *uri = webkit_network_request_get_uri(request);
gchar *scheme = g_uri_parse_scheme(uri);
if(strcmp(scheme, "custom") == 0) {
/* DO FILE LOCATING MAGIC HERE */
webkit_web_view_open(webview, real_location_of_file);
return WEBKIT_NAVIGATION_RESPONSE_IGNORE;
}
/* etc. */
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,除非该方案用于<img>标签,例如:<img src="custom://myfile.png">,显然这些不通过navigation-requested信号.
在我看来应该有一些方法来为Webkit注册自定义URL方案的处理程序.这可能吗?
我有一个针对我的iOS应用程序的自定义URL方案,我希望能够通过电子邮件发送给某人的链接,如果它在设备上,则启动应用程序,或者如果他们没有,则将其带到应用程序商店.
我希望能够发送myapp:// someurl并在appstore上启动或转到myapp,但我认为这不会开箱即用.
相反,我正在考虑创建一个链接,加载一些javascript,它将尝试myapp:// someurl,如果失败将改为加载应用商店链接.
我的javascript知识很糟糕.我可以设置window.location来执行重定向,但似乎没有办法从中捕获错误,以便在失败时执行另一个操作.
有人知道怎么做吗?
可能重复:
在<script src ="...">中用//替换是否有效?
绝对URL省略协议(方案)以保留当前页面之一
在Javascript中使用//www.example.com自动选择http/https协议
我正在查看来自facebook的一些示例代码,我看到:
<script src="//connect.facebook.net/en_US/all.js"></script>
Run Code Online (Sandbox Code Playgroud)
他们使用//而不是http://- 这是我不知道的奇特吗?
我们正在开发iPhone应用程序并计划整合Whatsapp.
有没有办法从iPhone应用程序启用点击通话/消息?Skype允许这样做:
<a href="skype:skypehandle?call"> Skype </a>
Run Code Online (Sandbox Code Playgroud)
什么是Whatsapp的等价物?
我正在创建一个应用程序,用户可以通过相互发送电子邮件来共享数据.在这封邮件中有一个指向我的应用程序的链接(我为我的应用程序创建了一个URL方案)但是,如果用户的iPhone上没有我的应用程序,那么当他点击链接时,没有任何反应.
我的问题:如果应用程序安装在用户的iPhone上,如果未安装此应用程序,则启动Appstore或网站,如何启动应用程序?
谢谢
即使YouTube应用程序现在不是Apple的内置应用程序,看起来当点击YouTube链接(例如,通过邮件),从http://www.youtube.com开始,打开YouTube应用程序权利远.
iOS 6中的自定义应用程序有这种方法吗?我只知道自定义方案是通过URL启动应用程序的方式.
我在电子邮件中发送自定义网址方案链接:
[body appendString:@"<div><a href=\"my-custom-url-scheme:test\"><button type=\"button\">Open in App</button></a></div>"];
Run Code Online (Sandbox Code Playgroud)
这会在我发送的电子邮件中成功添加一个按钮,当点按时,会打开我的应用程序(如果已安装).
这在我在iOS设备上的mail.app中打开电子邮件时工作正常,但是当我在Gmail中打开邮件时(通过Safari和本地GMail应用程序),它没有做任何事情.
这是框架的限制吗?或者safari能够识别这些链接吗?
我有一个我在我的Android应用程序中覆盖的网址.单击从电子邮件到该链接的链接会弹出Intent Chooser对话框("使用完成此操作").但是,点击<a>Chrome中的相同链接(在标记中)(在Android 4上)会将我重定向到该网址,但不会提供该网址Intent Chooser.
如果我使用指向<a>Google Play商店(https://play.google.com)的链接替换代码中的链接,则再次点击该链接会弹出Intent Chooser.
Google Play商店和Chrome是否有特别之处,或者我在配置我的网址时做错了什么?我有什么办法可以用html来完成这项工作吗?
这是 <intent-filter>
<activity
android:label="@string/app_name"
android:name="..."
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="https"
android:host="www.example.com"
/>
<data android:scheme="http"
android:host="www.example.com"
/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
(重定向到网址也不会弹出Intent Chooser对话框,但我认为上面的情况更明确地表达了我的问题.)
另外值得注意的是,我相当肯定这一切都在我的域名失效时工作.一旦我的域名上线,这就停止了.这可能是我的想象力,因为我当时并不是100%专注于这个问题.
Chrome是否可能会特别对待Google Play商店的网址,否则它会在打开之前等待来自网址的非200响应Intent Chooser?
我正在尝试通过链接打开通知首选项窗格(在OS X SystemPreferences.app中).x-apple.systempreferences://到目前为止,前缀用于打开系统首选项应用程序,但我想直接打开通知窗格(在最好的情况下)甚至在列表中选择我的应用程序.
有没有人知道SystemPreferences.app是否通过其URL-Scheme打开时是否接受任何参数?
我已经尝试过x-apple.systempreferences://Notifications和x-apple.systempreferences://Notifications.prefPane,但额外的参数被忽略.
谢谢!
顺便说一句:是的,我知道我可以轻松打开Notifications.prefPane文件openFile:,但我想知道是否可以通过URL.
即时实现深层链接是iOS。我已经在 Project-Setting->Info->Url type URL Schemes 中配置了 URL Schemes : carwash role:Viewer
当我输入 carwash://something 时,浏览器要求打开应用程序,但在应用程序中没有调用我处理应该发生的操作。
苹果文档说你应该在 AppDelegate 中覆盖 application(open url) 但深层链接不调用它并且应用程序在最后状态打开
application:openURL:options:' 未被调用
这是我的代码并且不起作用
func application(_ app: UIApplication, open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
fatalError()
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if let url = launchOptions?[UIApplication.LaunchOptionsKey.url] as? URL {
/// some
fatalError()
}
GMSServices.provideAPIKey("")
return true
}
Run Code Online (Sandbox Code Playgroud)
swift 5 模拟器:iOS 13
url-scheme ×10
ios ×4
iphone ×2
android ×1
cocoa ×1
cocoa-touch ×1
custom-url ×1
deep-linking ×1
email ×1
gtk ×1
html ×1
intentfilter ×1
ios6 ×1
javascript ×1
macos ×1
objective-c ×1
redirect ×1
swift ×1
webkit ×1