Javascript window.open url会自动选择http或https

时间:2018-02-05 09:27:46

标签: javascript

在我的javascript应用程序中,我的用户可以在管理面板中的某处输入外部链接/ URL。用户无需在URL字段中添加https://

就像我们将somewebsite.com放入浏览器的网址栏并且浏览器自动选择httpshttp(无论哪个可用)一样,应用应自动选择https://somewebsite.comhttp://somewebsite.com

目前,我的应用程序中有类似的内容:

var url = 'www.csszengarden.com';  // input from user  
window.open('//'+url);

这里的问题是它会自动将网站解析为HTTPS,即使该网站是在HTTP上。

如何打开网址(不使用HTTP或HTTPS),然后自动选择可用的网址?

1 个答案:

答案 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

你可以改进,但它可能会让你开始。