-1

在查看服务器端 (PHP) 实现与客户端 (jquery) 实现时,通过编写呈现标记的函数库来生成网页有什么含义?

服务器端:客户端发出请求,服务器通过运行php程序渲染标记,将标记发送给客户端,浏览器加载并显示网页。

function makeTitle( $text ) {
    echo <<<HTML
    <style>
    #title {
    color:red;
    }
    </style>
    <div id = "title">{$text}</div>
    HTML;
}

makeTitle("This appears as red text");

客户端:客户端发出请求,将 javascript 以 .html 文件的形式发送给客户端,客户端的浏览器渲染标记,加载并显示网页。

var text; 
function title(text) {
$('body').html(function() {
  return '<div id = "title">'+text +'</div>';
});
 $("#title").css("color","red");
}

title("This appears as red text");

哪种实现会更高效,这样用户将不得不等待更少的时间,无论是服务器运行 php 程序还是浏览器运行 javascript 程序,以及在什么情况下每个实现在生成静态 css 方面最有效和HTML?

4

4 回答 4

4

在服务器上生成会很快,但您提到了 jQuery 中对 .html 文件的请求。为什么不使用 jQuery 即时生成 html?您可以通过向 jQuery 对象传递一个封闭的 HTML 标记来创建 DOM 元素,例如$('<div/>'). 这是使用您提供的示例的实现。

function makeTitle(text) {
    $('body').append(
        $('<div/>', {
            id: 'title'
        }).css({
            color: 'red'
        })
    );
}

makeTitle("This will appear as red text");

如果您正在寻找一个简单的模板解决方案,PHP 将是一个不错的选择,但如果您想创建一个无需刷新页面即可频繁更改内容的 Web 应用程序或页面,我发现使用 PHP 生成非常简单和快速数据和 jQuery 生成标记。

于 2013-02-27T03:57:00.453 回答
4

使用 javascript 呈现标记时的另一个含义是您的标记对网络爬虫来说是不可见的。如果 SEO 是一个问题,这不是最好的方法。

于 2013-02-27T03:59:45.357 回答
0

我认为通过 PHP 生成标记更可靠,就像在浏览器上禁用 javascript 一样,可能不会呈现任何标记。

除此之外,客户端机器可能具有不同的配置,这将进一步影响标记生成响应时间。所以我认为通过 PHP 进行标记会更有效。

于 2013-02-27T03:54:02.010 回答
0

我会选择 PHP。处理时间的差异很小,但它也适用于没有启用 javascript 的客户,并且如果它没有在其他地方使用,它不需要下载 jQuery 的开销。

于 2013-02-27T03:54:48.550 回答