小编sur*_*uri的帖子

让Backbutton在单页网站中工作并实现"说话"URL

我有一个单页网站,想要实现以下目标:

  1. 后退按钮就好像是一个普通的网站

  2. 而不是说,

www.mysite.com/index.php?p=#this-is-a-great-product

我想要这个网址

www.mysite.com/this-is-a-great-product

同时仍然有后退按钮正常工作.

关于1.)我使用下面的代码我发现它很有效:

<!-- Getting BackButton to  work properly -->
<script type="text/javascript">
var times = 0;
function doclick() {
    times++;
}
function doclick() {
    times++;
    location.hash = times;
}
window.onhashchange = function() {     
    if (location.hash.length > 0) {        
        times = parseInt(location.hash.replace('#',''),10);     
    } else {
        times = 0;
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

...但当然它只是将任何锚点更改为/#1,然后/#2等等,以使后退按钮工作.但由于我不是程序员,我不知道如何改变它...... :(

关于2.)我可以添加htaccess这个:

>RewriteEngine On
>RewriteRule ^([^/.]+)/?$ /index.php?page=$1
Run Code Online (Sandbox Code Playgroud)

这会将/index.php?p=products更改为/ products.

那么我如何更改上面的代码(在1.下),所以它不会改变#1,#2等所有锚点,而是引用/使用我在2下实现的url,如

www.mysite.com/this-is-a-great-product

而且(可能是一个非常愚蠢的问题,但是非常重要的问题) -使用我网站上的新网址链接 - 是否存在任何可能导致重复内容的危险?

关于这一点,我应该(因为这个原因或任何其他)sefreferential我的单页index.php自己使用rel canonical link = index.php? …

javascript .htaccess html5 single-page-application

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

垂直居中高度未知的div

好吧,我知道有几次被问过,但我没有找到一个跨浏览器的解决方案而且没有得到它的支持.:-(

我有这个代码将视频缩放到100%浏览器宽度:

<div id="flashposition"><div id="flashvimeo"class="vimeo">HereIsTheVideo</div></div>
Run Code Online (Sandbox Code Playgroud)

这个css:

#flashposition {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 0px;
height: 0;
z-index:30;
display: block;
overflow:hidden;
}

#flashvimeo object, embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

它可以工作,但会切断底部多余的高度,但我希望它能够居中,因此视频的多余高度在顶部和底部被切成两半.

任何安全的想法也适用于IE7?或者是js/jquery中的唯一方法,并且由于浏览器窗口大小而重新计算高度/宽度,如http://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php

javascript css jquery

8
推荐指数
2
解决办法
8277
查看次数