javascript怎么跳转页面举例
时间: 2023-06-22 12:03:42 浏览: 98
可以使用`window.location.href`来跳转页面,例如:
```
// 跳转到 https://www.example.com 页面
window.location.href = "https://www.example.com";
```
也可以使用`location.replace`方法来跳转页面,例如:
```
// 跳转到 https://www.example.com 页面
location.replace("https://www.example.com");
```
以上两种方式都可以实现页面的跳转。不同之处在于,前者会在浏览器的历史记录中留下记录,用户可以通过“后退”按钮回到上一个页面;而后者不会在历史记录中留下记录,用户无法通过“后退”按钮回到上一个页面。
相关问题
微信小程序app.json里面list页面中所有跳转方式并举例
微信小程序中,list页面中的跳转方式有以下几种:
1. navigateTo:保留当前页面,跳转到应用内的某个页面,可以返回原页面。例如:
```javascript
wx.navigateTo({
url: '/pages/detail/detail?id=1'
})
```
2. redirectTo:关闭当前页面,跳转到应用内的某个页面,不可返回原页面。例如:
```javascript
wx.redirectTo({
url: '/pages/login/login'
})
```
3. switchTab:跳转到应用内的某个tab页面,只能跳转到tabBar中配置的页面。例如:
```javascript
wx.switchTab({
url: '/pages/index/index'
})
```
4. reLaunch:关闭所有页面,跳转到应用内的某个页面。例如:
```javascript
wx.reLaunch({
url: '/pages/index/index'
})
```
使用@JavascriptInterface,举例说明,点击html中的button,跳转到zxing二维码扫描页面
使用 `@JavascriptInterface` 注解可以实现 JavaScript 与 Android 之间的交互,包括在 HTML 中的按钮点击事件中触发 Android 功能。下面是一个示例,展示如何点击 HTML 中的按钮,并通过调用 ZXing 库来跳转到二维码扫描页面:
1. 首先,在你的 Android 项目中添加 ZXing 库的依赖。可以在 build.gradle 文件中添加以下代码:
```groovy
implementation 'com.google.zxing:core:3.4.1'
implementation 'com.journeyapps:zxing-android-embedded:3.4.0'
```
2. 在你的 HTML 页面中,添加一个按钮,并定义一个 JavaScript 函数来触发该按钮的点击事件:
```html
<!DOCTYPE html>
<html>
<head>
<title>HTML Button Example</title>
<script type="text/javascript">
function scanQRCode() {
AndroidInterface.scanQRCode();
}
</script>
</head>
<body>
<button onclick="scanQRCode()">Scan QR Code</button>
</body>
</html>
```
3. 在 Android 项目中创建一个 WebView,并使用 `@JavascriptInterface` 注解创建一个 Java 接口,用于在 JavaScript 中调用 Android 功能:
```java
import android.content.Intent;
import android.net.Uri;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebAppInterface(), "AndroidInterface");
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("file:///android_asset/sample.html");
}
public class WebAppInterface {
@JavascriptInterface
public void scanQRCode() {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0 && resultCode == RESULT_OK) {
String contents = data.getStringExtra("SCAN_RESULT");
// 处理扫描结果
}
}
}
```
在上述代码中,`WebAppInterface` 是一个 Java 接口,使用 `@JavascriptInterface` 注解修饰了 `scanQRCode()` 方法。该方法会在 JavaScript 中被调用,触发跳转到 ZXing 的二维码扫描页面。
通过以上步骤,当 HTML 页面中的按钮被点击时,会触发 `scanQRCode()` 方法,跳转到 ZXing 的二维码扫描页面。扫描结果会通过 `onActivityResult()` 方法返回,并可以在其中进行处理。
阅读全文