小编Mar*_*iet的帖子

CSS:伪元素:从原始元素继承宽度/高度之前和之后

我正在使用css伪元素:before和:after对网站上的一些图像给出缩进效果.但是,如果不指定宽度和高度,则不会显示这些内容.这将让我为每个图像指定固定的宽度和高度,我想这对静态网页是有用的.

但是,因为这些图像是使用jQuery动态生成的并且是用户提交的,所以每次图像的宽度和高度都不同.现在我可以通过从图像获取宽度并将其传递给:之前的Javascript来解决这个问题,但这似乎对于像这样的事情来说太多了.

我的问题是,如果有一种方法只使用CSS,要将包含图像的宽度传递给:在此<li>之前,以便:before和:after伪元素继承宽度和原始元素的高度.

基本页面布局:

<ul>
   <li>
       <img src="foo" />
   </li>   
</ul>    

# css style simplefied
ul{ float:left; list-style:none}
li{float:left;}
li img{float:left}
li:before{
          content:"":
          position:relative;
          position:absolute;
          float:left;   
          box-shadow:0 1px 2px rgba(0,0,0,0.4);   

}
Run Code Online (Sandbox Code Playgroud)

PS:所需的兼容性仅适用于移动Webkit浏览器.

编辑

我可以通过使用以下行使用Javascript向CSS添加行:

var heightImg = (($('ul li:nth-child(n)').height())) + 'px';    
document.styleSheets[1].insertRule('ul li:before { height: ' +  heightImg+ '; }', 0);
Run Code Online (Sandbox Code Playgroud)

但这意味着我还必须使用动态id.这不会很难,但我只是想知道是否只有CSS方式.

css pseudo-element

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

您可以在localStorage中存储JavaScript和CSS文件,以提高在线Web应用程序的性能吗?

我正在开发一个Web应用程序,它的行为非常类似于iOS和Android的本机应用程序.然而,Javascript文件(jQuery +我自己的)和css文件一起用于移动使用,如果用户没有启用3G,这会使应用程序加载缓慢.

因此我开始考虑离线存储这些文件.然而,除了cache.manifest(据我所知,只有当没有互联网连接启用离线使用时才开始),我找不到这个.理想情况下,我想检查文件是否已经缓存/存储,如果没有,请使用它们,然后再存储它们.

这可能吗?这将减少加载我的应用程序的时间,因为索引文件本身非常小.我仍在努力通过优化减少文件,但在此期间这将有很大帮助.

编辑:

只是为了提供更多的细节,对不起我以前不清楚.

我已经开始使用HTML5样板构建这个webapp,我的.htaccess文件包含所有JS和CSS文件头,有效期为1年.

但似乎从iOS主屏幕打开应用程序每次都会加载.js和.css文件,就像它们没有被缓存一样.在桌面或甚至iOS Safari Web浏览器上打开网站似乎确实以正确的方式缓存文件,因为Javascript和CSS中的更改仅在手动刷新页面后显示.

看起来打开和关闭以及从主屏幕打开网络应用程序充当刷新,因此每次加载文件,即使它们是通过cache.manifest存储以供离线使用,文件的到期日期是远远落后于未来.

编辑2:

以为我会包含文件的缓存标头.这些似乎没问题.

Cache-Control max-age = 31536000,public
Expires Fri,2012年5月18日17:34:20 GMT
Vary Accept-Encoding,User-Agent
Content-Encoding gzip Keep-Alive timeout = 2,max = 98

jquery offline web-applications local-storage ios

12
推荐指数
1
解决办法
3178
查看次数

无法通过邮寄方式登录到Facebook的地方?

我正在尝试构建一个应用程序,让我的注册用户可以登录Facebook Places上的位置.然而,由于某种原因,我似乎无法使这项工作.我认为这是可能的Api因为已经添加了写入功能,但我在网上找不到清晰的解释.在我要求用户发布签名和user_checkins的权限之后,这就是我目前所拥有的.

<?php

require("src/facebook.php");


$facebook = new Facebook(array(
'appId'  => 'xxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cookie' => true
));



# see if active session
$session = $facebook->getSession();

if(!empty($session)) {

try{
$uid = $facebook->getUser();


$api_call = array(
'method' => 'users.hasAppPermission',
'uid' => $uid,
'ext_perm' => 'publish_checkins'
 );
 $can_post = $facebook->api($api_call);
 if($can_post){



 $facebook->api('/'.$uid.'/checkins', 'POST', array(
   'access_token' => $facebook->getAccessToken(),
   'place' => 'place_id',
   'message' =>'I went to placename today',

   'picture' => 'http://www.place.com/logo.jpg',
   'coordinates' => array(
    'latitude'  => 'lattiude',
    'longitude' => 'lattitude',
    'tags' => $uid,
   ) …
Run Code Online (Sandbox Code Playgroud)

php facebook facebook-graph-api

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

PHP 会话不工作

我已经放弃了这个问题,因为我怀疑某些东西破坏了我的设置,导致了问题,并从那时起创建了一个新服务器。我认为发现问题比启动新服务器并设置它要花费更多的时间。不过,我仍然有兴趣找出导致此问题的原因,因为它完美运行了 3 个月,直到周末才开始出现这些症状。**

=================================================== =============================

我遇到了一些初学者问题,可能是因为过去几个月我一直在使用其他语言,但我似乎无法找出为什么这不起作用。我编写了一个非常简单的脚本来测试它,如下所示:

<?php session_start();
  print_r($_SESSION);
  if(isset($_SESSION['views'])){
      $_SESSION['views'] = $_SESSION['views']+ 1;
  }
  else{
      $_SESSION['views'] = 1;
  }
  echo "views = ". $_SESSION['views'];
  echo '<p><a href="">Refresh</a></p>';

  # for testing
  var_dump($_SESSION);

?>
Run Code Online (Sandbox Code Playgroud)

发生的情况是,var_dump 显示创建了一个会话,其键为views,值为1。但是,当刷新页面时,没有找到活动会话,并且views 键再次设置为1。

现在对我来说奇怪的是在PHPSESSID下创建了一个会话id。我尝试检查存储会话的路径是否可写,并且确实如此。页面返回的header如下:

Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public
Connection  close
Content-Encoding    gzip
Content-Length  68
Content-Type    text/html; charset=utf-8
Date    Wed, 18 Jan 2012 13:03:34 GMT
Expires Thu, 19 Nov 1981 08:52:00 GMT
Pragma  no-cache
Server  Apache
Vary    Accept-Encoding
X-UA-Compatible IE=Edge,chrome=1
Run Code Online (Sandbox Code Playgroud)

在请求标头中,会话 cookie 的发送方式如下:

 Cookie PHPSESSID=0e1416r7pun3pamvc7cp8mjat3 …
Run Code Online (Sandbox Code Playgroud)

php session amazon-ec2

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