一旦用户点击注销,如何删除Angular模板缓存?我们进行了彻底的研究,并尝试实施大部分可用的解决方案.我们试过以下
HTML元标记
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
Run Code Online (Sandbox Code Playgroud)
服务器端
res.setHeader('cache-control', 'no-cache', 'no-store', 'must-revalidate');
Run Code Online (Sandbox Code Playgroud)
使用Javascript
我们尝试删除此博客上指定的浏览器历史记录
我们现在面临的问题是,当用户从我们的应用程序退出并按下后退按钮时,他显示空的html模板,因为服务未缓存,我们如何确保模板不缓存?
我有一个JSON对象,如下所示
[{
"id": 1,
"firstName": "Jennifer",
"middleName": null,
"lastName": "Aniston",
"address": "New York City",
}, {
"id": 2,
"firstName": "Angelina",
"middleName": null,
"lastName": "Jolie",
"address": "Beverley Hills",
}, {
"id": 3,
"firstName": "Emma",
"middleName": null,
"lastName": "Watson",
"address": "London",
}]
Run Code Online (Sandbox Code Playgroud)
我正在使用ng-repeat在视图中填充这些数据.
<td ng-repeat="row in list | filter:filterBeauties">
{{row.firstName}} {{row.lastName}}
</td>
Run Code Online (Sandbox Code Playgroud)
现在我有一个输入框,我想用它来过滤这些名称.我想使用相同的输入框来过滤firstName然后过滤lastName而不过滤其他任何东西(例如地址).
<input type="text" placeholder="Filter" ng-model="filterBeauties.firstName">
Run Code Online (Sandbox Code Playgroud)
任何想法我怎样才能实现它?
HTML
<div class="container">
<div class="child">
<a href="http://www.google.com" target="_blank">Google</a>
</div>
</div>
<a href="http://www.yahoo.com" target="_blank" class="y">Yahoo</a>
Run Code Online (Sandbox Code Playgroud)
CSS
.container{position: relative;display: block;width: 100px;height: 30px;background: #000;z-index: 7;}
.child{position: absolute;width: 100px;height: 100px;background: #CCC;padding-top: 30px;z-index:9;top: -999px;}
.child a{display: block;}
.container:hover .child{display: block;top: 0;}
.y{z-index: 6;}
Run Code Online (Sandbox Code Playgroud)
工作示例:http://jsfiddle.net/DemjR/6/
我已经在上面的例子中创建了CSS悬停菜单(在链接中),奇怪的是它没有工作,因为它假设在android设备中的chrome(v 25.0.1364.123).但它在我测试的其他所有设备中都能正常工作(ios,windows,mac等..)
问题是(在android中):当你将鼠标悬停在黑匣子上时,会出现一个灰色的div,里面有一个链接(google.com).
当您点击该链接时,它实际上会触发后面的链接(yahoo.com)而不是(google.com)
这是Android设备中的chrome bug吗?
提前致谢
有没有办法检查javascript文件是否已通过其文件名附加到页面.
例如:
if ("path-to-script/scriptname.js") already embeded
{
call related function
}
else
{
Append '<script src="path-to-script/scriptname.js" type="text/javascript"> </script> '
call related function
}
Run Code Online (Sandbox Code Playgroud)
基本上我不希望在同一页面上连接两个脚本.
我想在下面的示例中使用js 将thumb替换为large
从:
<ul id="slide">
<li><img src="pathtoimg/thumbs/imagename.jpg" /></li>
<li><img src="pathtoimg/thumbs/imagename2.jpg" /></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
至 :
<ul id="slide">
<li><img src="pathtoimg/large/imagename.jpg" /></li>
<li><img src="pathtoimg/large/imagename2.jpg" /></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
为了实现它,我使用了以下js代码
$(window).load(function(){
var images = $("#slide li img");
for(var i = 0; i < images.length; i++)
{
var img = images[i];
var src = img.src.replace("thumbs","large");
img.src = src;
}
});
Run Code Online (Sandbox Code Playgroud)
上面的代码在现代浏览器中工作正常,但Internet Explorer 7和8 在第0行返回堆栈溢出错误.是否有任何其他方法来替换列表中的img的src而不会出现上面的错误?
提前致谢.
我想在页面上的元素内的文本发生变化时执行一个函数.该元素中的文本由另一个外部JS函数更新,因此我对该函数没有任何控制权.
更新:元素是一个跨度.
<span class="dynamic">some Text</span>
Run Code Online (Sandbox Code Playgroud) 有一个外来的JS文件没有从我们页面上的服务器加载.总之,我对该文件没有任何控制权,我无法编辑该文件.我已经创建了一个函数,我想调用该外来文件中的函数.
我知道外文文件的功能名称.我希望在执行外部文件的函数后调用我的函数.我该怎么做?
如果你不明白我的问题,请告诉我.我会再试一次.
提前致谢