我一直在玩使用jQuery的简单屏幕刮板的想法,我想知道以下是否可行.
我有简单的HTML页面,并尝试(如果可能的话)从另一个页面中获取所有列表项的内容,如下所示:
主页:
<!-- jQuery -->
<script type='text/javascript'>
$(document).ready(function(){
$.getJSON("[URL to other page]",
function(data){
//Iterate through the <li> inside of the URL's data
$.each(data.items, function(item){
$("<li/>").value().appendTo("#data");
});
});
});
</script>
<!-- HTML -->
<html>
<body>
<div id='data'></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
其他页面:
//Html
<body>
<p><b>Items to Scrape</b></p>
<ul>
<li>I want to scrape what is here</li>
<li>and what is here</li>
<li>and here as well</li>
<li>and append it in the main page</li>
</ul>
</body>
Run Code Online (Sandbox Code Playgroud)
那么,是否可以使用jQuery从外部页面中提取所有列表项内容并将它们附加到div中?
最近,我正在经历一个开源项目,尽管我已经在.NET中开发了几年,但我之前并没有偶然发现这个continue关键字.
问题:使用continue关键字可以从中受益的最佳做法或领域是什么?有没有理由我以前可能没见过它?
我正在编写一个使用STM的clojure程序.目前,我在数据库启动时填充STM(使用refs),然后在dosync事务成功时异步更新数据库.我不知道我是否以正确的方式这样做,或者是否有更好的标准技术来做到这一点.谁能向我解释他们如何在他们的Clojure程序中将STM的ACI属性变成ACID?
我目前正在研究一个涉及存储多项研究及其内容细节的系统(一项研究通常可以包含1 <X <~2000个图像).我和我的同事正在讨论在数据库中存储文件大小(特别是图像大小)的最佳方法.
文件大小通常从<1kB到> 20MB.
我们目前正在讨论将图像大小存储为:
# of kilobytes (as an integer value)
# of bytes (as a large integer value)
# of megabytes (possibly as a decimal value)
Other Options...
Run Code Online (Sandbox Code Playgroud)
我没有处理过大量存储文件的问题,并且想知道实现这个目的的最有效/最实用的方法是什么?
我目前有一个项目,我似乎遇到了关于角色的问题,并认为我会就如何最好地处理问题得到一些意见.
系统将需要可编辑,灵活的角色,不仅可以控制特定区域的访问,还可以控制系统功能的使用(添加用户,编辑用户,查看报告等)
系统当前允许用户拥有多个角色,每个角色都明确定义了访问/操作区域,例如:
所以用户可以在角色A和C中,因此访问:1,2,3,4和6,并且可以添加和查看用户.
我的第一个解决方案是创建一个字典,将所有可能的访问/访问选项区域存储到字典中,如下所示:
Dictionary<string,bool>
Run Code Online (Sandbox Code Playgroud)
然后,当它被实例化时,它从数据库中提取所有属性,然后遍历角色以确定它们是否可访问.
所有这一切目前都运行得很好 - 但是项目非常Javascript/jQuery密集,因此很多这些选项都是由客户端函数调用的.我试图避免必须包含所有这些客户端功能:
<%if(AccessDictionary[key])
//Enable or Disable Action
<%}%>
Run Code Online (Sandbox Code Playgroud)
所以基本上,我想知道以下事情:
任何建议或想法将不胜感激!
我最近一直在寻找一个正则表达式来做一些客户端日期检查,但我找不到一个能满足以下条件的表达式:
(这些限制超出了我的范围,并且是客户的要求,尽管我努力说服他们这不是最好的路线)
当前代码:
$('input').keyup(function()
{
var regex = /^(?:(0[1-9]|1[012])[\/.](0[1-9]|[12][0-9]|3[01])[\/.](18|19|20)[0-9]{2})$/;
$(this).toggleClass('invalid',!regex.test($(this).val()));
});
Run Code Online (Sandbox Code Playgroud)
更新:
我应该注意,这主要是为了看看这样的正则表达式是否可行(因为在这个问题上使用正则表达式不是我的选择).我知道验证日期的其他(和更好的)选项,但是如前所述 - 这是通过正则表达式查看是否可能.
我目前正致力于概念验证,并遇到了一个涉及使用JSON序列化HttpRequest的问题.
背景
我原本以为我可以使用JSON.Encode()方法轻松完成它,如下所示:
JSON.Encode(HttpContext.Request)
Run Code Online (Sandbox Code Playgroud)
但是,我很快发现这会导致抛出各种循环引用(主要是由于Request对象的实际结构和复杂性).这些仅在实际遇到包含循环引用的属性时发生,因为我之前使用以下代码来获取我需要的特定元素:
JSON.Encode(new {HttpContext.Request.Cookies,HttpContext.Request.Headers, ... });
Run Code Online (Sandbox Code Playgroud)
哪个工作得很好.
我只是好奇是否有更好的处理方法(或处理它的最佳方法).我将详细介绍我到目前为止所采取的一些方法,以便找到我可能出错的任何方面.
以前的方法
使用Reflection迭代Request中的每个属性并尝试构造一个JSON字符串"property-by-property".(遇到循环引用时失败)
尝试将每个属性存储在Dictionary对象中,然后使用JSON序列化整个Dictionary(希望它将"展平"对象并使其更容易序列化)
使用JSON.NET库并尝试通过JsonConvert.SerializeObject()方法对其进行序列化(我试图传递几个额外的设置以避免循环引用,但没有任何运气)
我认为我的最新方法(使用JSON.NET库)接近工作,但是我遇到了一个错误,该错误涉及Request中Stream对象的"Timeout"属性.
我并不反对简单地避免序列化Stream对象和循环引用.我只是试图抓住尽可能多的Request对象,同时避免任何这些类型的意外.
我知道有几种工具能够混淆JavaScript文件,例如通过转换简单的函数,如:
function testing()
{
var testing;
var testing2;
alert(testing+testing2);
}
Run Code Online (Sandbox Code Playgroud)
成
function a(var a,b;alert(a+b);)
Run Code Online (Sandbox Code Playgroud)
我的问题是这样的事情是否存在与CSS/HTML一起使用(或者是否存在具有类似效果的工具)?特别是,缩小/混淆工具实际上重命名变量和refereneces并消除额外的空白等.
如果是这样的话 - 性能上的好处是否会超过CSS/HTML/JavaScript缩小/混淆的可读性?
在最近将应用程序更新到.NET 4.5时,我开始注意到一些与控制器(及其相关的Actions)相关的奇怪行为在来自Javascript的AJAX调用期间被"阻止".
这些问题通常是不一致的,但如果通过异步AJAX调用访问Controller会导致问题,并且在此请求期间会进行另一次调用(通过AJAX或传统方式).
这导致原始呼叫被"阻止",并且通常需要1-2分钟才能解决此"死锁"并且操作按预期执行.
示例场景
用户单击一个链接,该链接将临时存储
要在下一个请求中访问的ViewData中的值.
发生重定向并访问另一个Controller(应该是)并且在加载AJAX调用之后.
在此AJAX调用(正确访问ViewData值)期间,将快速进行其他调用(例如,用户立即单击链接以导航到另一个Controller).单击此链接后,将出现"死锁",浏览器将无响应.
要么
的通话将被成功执行(只要它没有被另一个请求中断),但试图执行上述步骤将失败.
附加信息
如上所述,这个问题相当不一致,因为它通常会在第一个请求(AJAX调用)上正确执行,只要它不被中断.但是,如果您再次尝试拨打同一个电话,则会失败.
使用Browser Profiler/Fiddler /开发工具(F12),正在进行第二次AJAX调用,但它似乎永远不会执行.(即使在AJAX调用中放置一个断点,但是尽管调用了断点,但从未命中断点).
此问题仅在Internet Explorer 9或更低版本中发生.
该应用程序使用的是MVC3,.NET Framework 4.5,IIS 7.5,是在Visual Studio 2012中开发的.
试图解决方案
SessionState - 尝试用于SessionStateBehavior.ReadOnly避免可能在相关控制器上发生的任何阻塞问题.
临时存储 - 使用各种不同的方法在控制器之间传递临时值,例如ViewData,Session和Cache.
ITempDataProvider -目前正在考虑实施一个供应商来处理任何临时值,以便可以将项目迁移到更无会话的解决方案.
在咨询ASP.NET团队的几个成员和其他一些社区贡献者之后,确定该问题实际上是.NET 4.5中的一个错误.
您可以在此博客文章中阅读有关此问题的更多信息,我在此处撰写了相同的主题和更新的修补程序.
我在使用Orchard时遇到了一个问题,我确信应该有一个相当简单的修复/解决方案,但我还没有找到它.
我正在尝试为我的主页(580px)建立特定的宽度内容区域,并为内容页面(800px)建立更大的宽度.
Layout.cshtml片段:
<div id='content'>
@Zone(Model.Content)
</div>
Run Code Online (Sandbox Code Playgroud)
样式:
#Content
{
[...]
width: 580px;
}
Run Code Online (Sandbox Code Playgroud)
目前 - 无论页面(主页或内容)如何,Content div都会包装我的所有内容.我想知道是否可以使用不同的div来封装基于Page的内容,如下所示:
Layout.cshtml想法:
@if(Model.Page != "Home")
{
<div id='fullcontent'>
@Zone(Model.Content)
</div>
}
else
{
<div id='content'>
@Zone(Model.Content)
</div>
}
Run Code Online (Sandbox Code Playgroud)
我不确定上述建议的方法是否可行(或者我不确定如何检查当前页面) - 但是任何其他建议都将受到赞赏.
c# ×4
javascript ×3
.net ×2
asp.net ×2
asp.net-mvc ×2
clojure ×1
continue ×1
css ×1
datetime ×1
dictionary ×1
filesize ×1
html ×1
iis ×1
jquery ×1
json ×1
layout ×1
minify ×1
obfuscation ×1
orchardcms ×1
regex ×1
roles ×1
stm ×1
storage ×1
styling ×1