标签: html-framework-7

无法阻止被动事件侦听器内的默认

我正在使用Framework7可排序列表,它运行良好,只是在列表更改时不会触发事件.

所以我正在尝试一些内置事件:

$('.sortable-handler').on('touchstart', function (e) {
    e.preventDefault();
    alert('touchstart');
});

$('.sortable-handler').on('touchmove', function (e) {
    e.preventDefault();
    console.log('touchmove');
});

$('.sortable-handler').on('touchcancel', function (e) {
    e.preventDefault();
    console.log('touchcancel');
});

$('.sortable-handler').mouseleave(function (e) {
    e.preventDefault();
    console.log('mouseleave');
});
Run Code Online (Sandbox Code Playgroud)

..但我得到的是:

由于目标被视为被动,因此无法阻止被动事件侦听器内的默认.请参阅 https://www.chromestatus.com/features/5093566007214080

我应该寻找哪种事件来获取每种类型的更新列表?

javascript jquery html-framework-7

40
推荐指数
5
解决办法
10万
查看次数

在Framework7中显示/隐藏页面加载时的预加载器

我想在页面加载时显示所有内容的预加载器,并在页面加载完成时隐藏它并显示内容(我不是在谈论内部链接 - 就像在浏览器中键入地址并等待要加载的页面.)像这个演示:https://demo.app-framework.com/

我试过这个:

var app = new Framework7({
  // App root element
  root: '#app',
  // App Name
  name: 'My App',
  // App id
  id: 'com.myapp.test',

    on: {
        init: function () {
            console.log('App initialized');
        },
        pageInit: function () {
            console.log('Page initialized');
            app.preloader.hide();
        },
    }
  // ... other parameters
});

var mainView = app.views.create('.view-main');
app.preloader.show();
Run Code Online (Sandbox Code Playgroud)

但它不起作用它像其他元素一样显示加载器并且不隐藏它,我不确定它是否可能.如果有人能指出我正确的方向,我将不胜感激.

javascript html-framework-7

16
推荐指数
1
解决办法
1982
查看次数

在设备上使用android后退按钮返回到Framework7应用程序中的主视图?

我最近使用framework7和cordova构建了一个应用程序.我的应用程序包含一个单独的html文件,其中包含所有视图.要在视图之间导航,每个子视图顶部都会显示一个后退按钮.

如果有人按下设备上的后退按钮,应用程序将关闭.

当我在子页面中时,如何使用后退按钮进入主页面?

我已经阅读了framework7网站上的路由器API,但它确实令人困惑,似乎无法正常工作.这是我正在尝试的:

<html>
  <head>...</head>
  <body>
    ...
    <!-- Views -->
    <div class="views">
      <!-- View -->
      <div class="view view-main">
        <!-- Pages -->
        <div class="pages">
          <!-- Home page -->
          <div class="page" data-page="index">
            <div class="page-content">
              <p>Home page</p>
            </div>
          </div>

          <!-- About page -->
          <div class="page cached" data-page="about">
            <div class="page-content">
              <p>About page</p>
            </div>
          </div>

          <!-- Services page -->
          <div class="page cached" data-page="services">
            <div class="page-content">
              <p>Services page</p>
            </div>
          </div>
        </div>
      </div>
    </div>
    ...
  </body>
</html>

// Initialize App  
var myApp = new Framework7();

// …
Run Code Online (Sandbox Code Playgroud)

html javascript android cordova html-framework-7

11
推荐指数
2
解决办法
1万
查看次数

找不到“Cordova/CDVUIWebViewDelegate.h”文件

我刚刚将 cordova 更新到版本 10.0.0,而 mi xcode 现在版本为 11.3.1,当我尝试构建我的应用程序时,我收到此错误。

找不到“Cordova/CDVUIWebViewDelegate.h”文件

我不知道如何设置此文件的路径或修复此错误。有人可以帮我吗?

提前致谢。

xcode cordova html-framework-7

11
推荐指数
1
解决办法
5557
查看次数

webview页面内的Framework7没有加载

我是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>
Run Code Online (Sandbox Code Playgroud)

MainActivity.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");

    }
}
Run Code Online (Sandbox Code Playgroud)

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" …
Run Code Online (Sandbox Code Playgroud)

javascript ajax android webview html-framework-7

8
推荐指数
1
解决办法
1748
查看次数

vuejs-framework7工具栏路由

我正在使用Framework7和vuejs制作的应用程序.

我有底部工具栏但我在这里有路由问题.

这是我的代码

route.js

{
path: '/about/',
component: require('./assets/vue/pages/about.vue')}
Run Code Online (Sandbox Code Playgroud)

main.vue

<div class="toolbar tabbar tabbar-labels">
  <div class="toolbar-inner">
    <a class="item-link tab-link" href="/about/">
      <i class="fa fa-home"></i>
      <span class="tabbar-label">Home</span>
    </a>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

当我点击工具栏时,我得到错误无法获取/关于/.

但是当我从工具栏外部点击相同的链接时,它可以...

有人有任何想法或有更好的解决方案吗?

routes toolbar vue.js html-framework-7

8
推荐指数
1
解决办法
365
查看次数

科尔多瓦隐藏状态栏

我正在使用Phonegap和Framework7构建iPad应用程序,无论我做什么,我都无法将状态栏隐藏在iPad上.

我试过谷歌一些教程,包括以下问题:

我已经尝试了上述问题的所有答案中提供的解决方案,我的状态栏仍然存在.

我用xCode打开了项目,我可以看到设置配置正常:

对于部署信息中的i​​Phone设置:

  • 状态栏样式:默认
  • 隐藏状态栏(已选中)
  • 需要全屏(选中)

对于部署信息中的i​​Pad设置:

  • 应用程序启动时隐藏(已选中)
  • 需要全屏(选中)

Info > Custom iOS Target Properties,我已设置以下内容:

  • 查看基于控制器的状态栏外观:否

deviceready事件被触发时我也尝试使用JavaScript方式:

StatusBar.hide();
Run Code Online (Sandbox Code Playgroud)

更新

当我跑:

StatusBar.isVisible
Run Code Online (Sandbox Code Playgroud)

该属性返回false,但我仍然看到顶部的白色条.

statusbar ios cordova phonegap-build html-framework-7

8
推荐指数
1
解决办法
1607
查看次数

Input [type =“ file”]在ios 12.2上不起作用

我有输入type =“ file”的应用程序,它可以在ios 12.1和以前的版本上工作,但不能在ios 12.2(最新的版本)上工作。这是我使用的代码:

<input ref="input" :accept="accept" type="file" @change="fileSelected">
Run Code Online (Sandbox Code Playgroud)

调试时不会出现任何错误。我读了一些发行文档,苹果公司说他们提高了ios设备中文档和内容的安全性,但没有找到解决方法。我正在使用Framework 7 + Vue + Cordova

请任何人帮助?谢谢!

uiwebview ios cordova html-framework-7

7
推荐指数
1
解决办法
1308
查看次数

在es6中覆盖库函数

我正在尝试覆盖库中的特定功能.在我的例子中,我试图覆盖Framework7上的一些函数.该库只有一个叫做的类Framework7,在非ES6 javascript中,创建应用程序的实例看起来像这样:

var app = new Framework7();
Run Code Online (Sandbox Code Playgroud)

所以我认为它是可扩展的,所以这里我的代码扩展它:

export class Application extends Framework7 {
    constructor(options) {
        super(options);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试覆盖其中一个函数时,代码运行正常,假设showPreloader从不调用函数本身

export class Application extends Framework7 {
    constructor(options) {
        super(options);
    }

    showPreloader(title) {
        console.log('this not printed :(');
        super(title); // this is not called as well

        // but showPreloader() from Framework7 still called
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试不同的方法来覆盖它,我带来这样的解决方案:

export class Application extends Framework7 {
    constructor(options) {
        super(options);

        this.showPreloader = (title) => {
            console.log('print me!'); // printed! :D
            super(); …
Run Code Online (Sandbox Code Playgroud)

javascript oop ecmascript-6 babeljs html-framework-7

6
推荐指数
1
解决办法
172
查看次数

pushState 问题 Framework7 v3.5.2 不加载视图

我已经阅读了有关此问题的所有问题,但没有找到任何解决方案。

我正在使用当前最新版本的 Framework7 (3.5.2),我正在尝试实现 pushState 语句以便在 Android 设备上启用 backButton。

在我的app.js我写了这个:

const app = new Framework7({
    root: '#app',
    name: conf.appName,
    version: conf.version,
    id: conf.id,
    theme: 'auto',
    panel: {
        swipe: 'left',
    },
    view: {
        pushState: true,
        //pushStateRoot: '',
        //pushStateSeparator: '#!',
      }
    })
Run Code Online (Sandbox Code Playgroud)

如果我设置了pushState: false,应用程序就可以正常工作。如果我设置为true,应用程序会给我一个空白页(我已经尝试使用 xampp、electron 和 cordova,我得到了相同的结果)。

我错过了什么吗?Framework7 Doc 太令人困惑了..

如果 pushState 被窃听,还有其他解决方案可以在 android 上使用带有 Framework7 的 backButton 吗?

谢谢

javascript html-framework-7

5
推荐指数
1
解决办法
1679
查看次数