0

我目前正在将一个移动网站升级到 Html5/php,之前我有很多不同的 php 页面,但现在我使用的是单个 html5/php 页面。

在旧网站上,我会通过 url 传递变量并使用它$_GET来检索它们,尽管我正在努力在 html5 中找到一个简单的替代方案。

我也在我的新站点中使用 Jquery mobile,虽然我不熟悉它。

我的 html 示例如下。

<div data-role="page" data-title="Page One" id="home">
         <div data-position="fixed" data-role="header">
         <h1>Pageone</h1>
    </div>

  <div data-role="content" data-theme="a">
    <ul class="menu">
        <li class="icn_browse"><a href="#browse?wtd=10">Browse</a><span></span></li>

           </ul>
        </div>
    </div>



  <div data-role="page" data-title="Page two" id="browse">
         <div data-position="fixed" data-role="header">
         <h1>Pagetwo</h1>
    </div>

  <div data-role="content" data-theme="a">

<!-- need to access the data from the home page here, more specifically the content of $_GET['wtd'] -->

        </div>
    </div>

所以我需要将数据从#home 传递到#browse,任何帮助将不胜感激。

4

1 回答 1

0

丑陋但确实可行的解决方案包括构建一个小的 PHP 生成的 JavaScript 片段来处理此任务:

请将其放在您希望在脚本运行时可用的内容之后(在大多数情况下,它将是文件的结尾。另一种解决方案涉及使用 $(document).ready(function() { //.. 。 })) 堵塞:

// Assuming your $_GET['wtd'] contains only an ID to fetch, without '#':
var p = "<?php echo $_GET['wtd']; ?>";
$("#"+p).prepend($("[data-role='content']");

尽管我不鼓励以这种方式使用 JavaScript。它违反了不引人注目的 JS的规则。基本上,这个解决方案完全依赖于 JavaScript,因此它不能在禁用 JavaScript 的环境(如大多数 Intranet)中工作。

可能更好的解决方案,不使用 JavaScript,但只有 PHP 是在 SGML 解析器中解析整个站点并将文档的某些节点移动到正确的位置,然后再次序列化文档。也许您会失去文档的可读性,但它肯定会起作用。它比使用 jQuery 的解决方案复杂得多,但如果您有兴趣,我建议您阅读 PHP 标准库中提供的手册 od DOMDocument 类:http: //nl.php.net/manual/en/class.domdocument。 .php _

于 2012-07-17T00:45:34.967 回答