我正在使用Framework7开发Web应用程序。单击链接并导出变量时,我想移至另一页。

在index.php中,我有这个:

<head>
    <script type="text/javascript">
        function myFunc(xyz) {
            localStorage.setItem("variable", xyz);
        }
    </script>
</head>

<body>
<?php
    foreach( [...] ) {

        [...] // something not important

        print('
            <a onclick="myFunc('.$myVar.')" href="anotherPage.php">'.$myVar.'</a>
        ');

    }
?>
</body>


在anotherPage.php中,我有这个:

<p id="example"></p>

<script>
    document.getElementById("example").innerHTML = localStorage.getItem("variable");
</script>


我不知道为什么它不起作用...您能帮我吗?

附言:
我发现这可能有用:Ajax pages | Framework7

非常感谢!

最佳答案

F7是SPA框架,它无需JS即可加载新页面。
您应该在index.php中添加pageInit回调

<a href="anotherPage.php?variable=xyz"/>
<script type="text/javascript">
    myApp.onPageInit('another-page', function (page) {
       // here is the variable
       console.log(page.query.variable);
    });
</script>


anotherPage.php应该这样格式化

<div class="navbar">

</div>

<div class="page" data-page="another-page">
  ...
</div>


还有另一种通过“查询”对象传递变量的方法。
https://framework7.io/docs/router-api.html

mainView.router.load({
  url: "anotherPage.php",
  query: {
    variable: 'xyz',
    ...
  }
});

09-25 17:28