假设我有一个实用函数,为了简单起见(真实的东西很复杂且无关紧要),返回当前窗口的查询字符串.
var someUtilityFunction = () {
return window.location.search.substring(1);
};
Run Code Online (Sandbox Code Playgroud)
现在我想在qUnit中对这个函数进行单元测试(不确定测试工具是否相关):
test('#1 someUtilityFunction works', function () {
// setup
var oldQS = window.location.search;
window.location.search = '?key1=value1&key2=value2&key3=value3';
var expectedOutput = 'key1=value1&key2=value2&key3=value3';
// test
equals(someUtilityFunction(),
expectedOutput,
'someUtilityFunction works as expected.');
// teardown
window.location.search = oldQS;
});
Run Code Online (Sandbox Code Playgroud)
这里的问题是设置window.location.search为不同的查询字符串会导致页面重新加载,实质上是进入无限的请求循环.有没有办法模拟window.location对象而不对someUtilityFunction函数进行任何更改?
我有一些非常简单的标记,我希望长文本被截断为"..."
.topRow div {
display: inline-block;
}
#name {
max-width: 70%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}Run Code Online (Sandbox Code Playgroud)
<div class="topRow">
<div id="edit">
<div id="pre">Before -</div>
<div id="name">Some long text that should get truncated when it passes the max width</div>
<div id="post">- After</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/xyPrv/3/

问题是,当我添加overflow: hidden到div时,它会使文本跳起几个像素,并且与文本周围的其余文本不一致.
是什么导致这种垂直运动?无需手动将文本向下推(带position: relative; and top: 5px),如何干净地将文本对齐?
我有一些代码将类添加到元素,然后尝试删除它们,并在1秒后添加不同的类.我得到一些非常奇怪的行为,我甚至无法在一个简单的jsfiddle示例中重现.
这是我的相关JavaScript代码:
console.log('before destroyed: ' + currentTile.get(0).className);
currentTile.addClass(classes.destroyed);
console.log('after destroyed: ' + currentTile.get(0).className);
setTimeout(function () {
console.log('before blanking: ' + currentTile.get(0).className);
currentTile.removeClass().addClass(classes.blank + ' ui-draggable');
console.log('after blanking: ' + currentTile.get(0).className);
}, 2000);
Run Code Online (Sandbox Code Playgroud)
以下是控制台的说法:

正如你所看到的,添加destroyed该类工作正常,但对removeClass()内部的调用setTimeout似乎什么都不做,然后.addClass(classes.blank + ' ui-draggable');似乎也正常工作.另外,如果我将一个类传递给removeClass它,那么删除那个没有问题的类.
如果这是一个背景问题或currentTile错误的元素,我会认为addClass这也会失败?任何人都知道这里发生了什么?
附加信息:jQuery最新(我认为v.1.9.0),jQuery UI v 1.10.0,Chrome v.24.0.1312.56 m
编辑:问题似乎与jQuery UI直接相关,可以在这个小提琴中看到发生.
我有一个包含常量宽度项的动态宽度容器div.我希望能够调整容器的大小,以便它只显示整个项目,从不切割右边的项目.
例如,用户的屏幕可能会呈现显示5个项目:

如果该用户开始缩小其屏幕的宽度,只要该条不再宽到足以容纳5个完整项目,我希望它缩小到仅显示4个项目.
坏:

好:

我知道这可以通过使用CSS3媒体查询来实现,但我想避免为每个不同数量的元素编写不同的断点.我也想避免使用javascript resize事件处理程序,但我不确定如果没有它可行.
我有一个WCF服务,第一次调用它需要很长时间来处理,然后缓存这些结果HttpRuntime.Cache.为了初始化这个缓存,我想从javascript触发一个fire-and-forget ajax调用.
现在我在页面中有这个javascript:
$.ajax({
type: 'GET',
url: getServiceURL() + 'PrimeCacheAjax',
contentType: 'application/json; charset=utf-8'
});
Run Code Online (Sandbox Code Playgroud)
当PrimeCacheAjax函数只是执行伪呼叫来填充缓存.
这种方法的唯一问题是具有此ajax调用的页面是一种登录页面,它执行一些javascript,打开另一个窗口并关闭自己.当窗口在服务器响应之前自行关闭时,我在fiddler中看到一个已取消的请求.我担心这可能会导致ajax呼叫无法到达服务器的情况,这可能吗?
有没有办法指定(使用$.ajax())没有响应,或者它真的不重要?
我最近为我实现的一些自定义用户控件添加了一个界面.界面非常基础.它有一种支持链接的方法:
Public Interface IMyInterface(Of T As WebControl)
Function DoSomething() As T
End Interface
Run Code Online (Sandbox Code Playgroud)
实现也很基本:
Public Class MyCustomControl
Inherits CompositeControl
Implements IMyInterface(Of MyCustomControl)
Public Function DoSomething() As MyCustomControl _
Implements IMyInterface(Of MyCustomControl).DoSomething
' do stuff
Return Me
End Class
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切正常.当我尝试遍历所有实现IMyInterface接口的控件集合时会出现问题,如下所示:
Dim myList = New List(Of IMyInterface(Of WebControl))
myList.Add(someCustomControl)
myList.ForEach(Sub(i) i.DoSomething())
Run Code Online (Sandbox Code Playgroud)
someCustomControl是一个MyCustomControl实现IMyInterface(Of MyCustomControl)而不是IMyInterface(Of WebControl).
我在第二行(我尝试添加someCustomControl)中收到此错误:
Option Strict On禁止从"MyCustomControl"到"IMyInterface(Of WebControl)"的隐式转换.
有没有办法解决这个错误?我很接近它的工作,但我不太了解泛型超越这一点.
嘿伙计们,我正在为支持java的手机开发j2ME游戏.我试图使用以下方法缩放透明PNG:
// method derived from a Snippet from http://snippets.dzone.com/posts/show/3257
// scales an image according to the ratios given as parameters
private Image rescaleImage(Image image, double XRatio, double YRatio)
{
// the old height and width
int sourceWidth = image.getWidth();
int sourceHeight = image.getHeight();
// what the new height and width should be
int newWidth = (int)(XRatio * sourceWidth);
int newHeight = (int)(YRatio * sourceHeight);
Image newImage = Image.createImage(newWidth, newHeight);
Graphics g = newImage.getGraphics();
for (int y = 0; y < …Run Code Online (Sandbox Code Playgroud) 这更像是一个基本的数学/编程问题.我需要生成一个分区a/b = c.我将给用户a和b他必须回答c,但c只能有一个小数.例如,c = 5.2是可以的,但5.23太多了,因为用户是孩子.所以我需要一种算法,可以从所有可能的组合中随机生成这种除法,其中a必须小于x,b必须小于y,c只能有一个小数.此外,a和b必须是整数.
我正在寻找一种更优雅的解决方案,而不是尝试数字并检查它们,直到产生正确的组合.此外,这是针对网页内容,所以我更喜欢使用javascript,但如果需要,可以在php中完成.¿有人知道我该怎么办?我在数学上并不擅长.
非常感谢你提前.
此问题类似于检查datepicker是否已打开,但它与属于其上具有多个datepicker控件的页面有关.
当页面上有多个日期选择器时,jQuery UI似乎只创建一个在所有日期选择器之间共享的日期选择器小部件.
我试图通过datepicker UI或其他方式找到一种方法来找出小部件打开的日期选择器.不幸的是,尝试过的真实测试如下:
$('#someDatepicker').datepicker('widget').is(':visible');
Run Code Online (Sandbox Code Playgroud)
无论窗口小部件打开哪个日期选择器,都返回true,只要它在某处可见即可.
我有一个ASP.NET WebAPI项目,我试图用Swagger UI替换旧的XmlDocumentationProvider页面.我正在使用swashbuckle swagger for webAPI 5.3.1 nuget package.
我能够导航到localhost/MyApp/swagger,我可以在fiddler中看到它调用localhost/MyApp/swagger/docs/v1来检索代表我的API的JSON字符串.调用成功,JSON大约240KB,JSON有效.此时,Chrome标签会在使用"Aw snap"页面崩溃之前冻结约30秒.控制台中没有错误.
尝试验证此在线验证器中的api JSON是否正常工作,并说如果我取消选中所有三个"Follow ___ $ refs"复选框,则说明规范/架构是有效的.如果勾选了这些框中的任何一个,则大约需要30秒,然后该工具崩溃.
不幸的是,我不能在某处粘贴我的整个webAPI规范,但我会说这是一个非常庞大且非常复杂的内部业务应用程序.我们的一些DTO具有循环引用(与DTO本身相同类型的属性),我怀疑它可能会导致问题,但是没有任何记录或调试我无法确定,并且有超过1000个DTO类我不想梳理它们全部检查.
有没有办法打开swashbuckle(在服务器上)或swagger UI(在客户端上)的任何类型的日志记录或调试?有没有人遇到这个问题浏览器崩溃,并知道是什么导致它?提前谢谢.
javascript ×5
css ×3
jquery ×3
html ×2
jquery-ui ×2
.net ×1
ajax ×1
alignment ×1
css3 ×1
generics ×1
interface ×1
java ×1
java-me ×1
math ×1
overflow ×1
php ×1
png ×1
query-string ×1
qunit ×1
settimeout ×1
swagger ×1
swagger-ui ×1
swashbuckle ×1
transparency ×1
unit-testing ×1
vb.net ×1
wcf ×1