在我的javascript应用程序中,我的用户可以在管理面板中的某处输入外部链接/ URL。用户无需在URL字段中添加https://
。
就像我们将somewebsite.com
放入浏览器的网址栏并且浏览器自动选择https
或http
(无论哪个可用)一样,应用应自动选择https://somewebsite.com
或http://somewebsite.com
。
目前,我的应用程序中有类似的内容:
var url = 'www.csszengarden.com'; // input from user
window.open('//'+url);
这里的问题是它会自动将网站解析为HTTPS,即使该网站是在HTTP上。
如何打开网址(不使用HTTP或HTTPS),然后自动选择可用的网址?
答案 0 :(得分:1)
当您不知道网站支持哪种协议时,通常的方法是使用android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 18
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:26.0.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:0.5'
implementation 'com.google.android.gms:play-services:11.8.0'
implementation 'com.google.android.gms:play-services-maps:11.8.0'
implementation 'com.android.support:design:26.0.1'
}
并让网站重定向到http
。
但是如果用户确实提供了协议,那么你想保留它。
所以一个简单的解决方案可能是:
https
你可以改进,但它可能会让你开始。