草庐IT

javascript - Framework7 inside webview页面未加载

coder 2023-11-24 原文

我是 framework7 的新手,我正试图让它在 android 内部运行。

这是我所做的,在 android studio 中创建项目,使用 webview 加载 index.html 并且它可以工作。但是“关于”、“服务”和“表单”页面的链接不起作用。

我看到 framework7 使用 ajax 来调用那些页面。

所以我认为它在 webview 中不起作用,对吗?

我是否需要更改 framework7 初始化的方式以使用 javascript 或其他方式加载页面?

有可能让它以这种方式工作吗?加载另一个 html 文件的内容作为页面而不使用“内联”页面?

一些建议?

更新我的代码(使用 android studio):

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="atlasdb.atlasdatabase.MainActivity">

    <WebView
        android:id="@+id/atlasdatabase"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>

主要 Activity .java:

package app.apptest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        WebView myWebView = (WebView) findViewById(R.id.apptest);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setDomStorageEnabled(true);
        webSettings.setAppCacheEnabled(true);
        webSettings.setDatabaseEnabled(true);
        myWebView.loadUrl("file:///android_asset/index.html");

    }
}

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="app.apptest">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:theme="@style/Theme.AppCompat.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

最佳答案

通过将这些行添加到 webSettings 来允许文件访问您的 webview:

webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);

示例项目:

Andorid-Framework7-StartKit在 Github

关于javascript - Framework7 inside webview页面未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39148387/

有关javascript - Framework7 inside webview页面未加载的更多相关文章

随机推荐