我正在尝试在Active Directory中按用户名查找用户.
这有效:
const string Domain = "SLO1.Foo.Bar.biz";
const string Username = "sanderso";
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, Domain);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, Username);
Run Code Online (Sandbox Code Playgroud)
这不是:
const string Domain = "SLO1.Foo.Bar.biz";
const string Container = "CN=Users,DC=SLO1,DC=Foo,DC=Bar,DC=biz";
const string Username = "sanderso";
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, Domain, Container);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, Username);
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
服务器上没有这样的对象.
这是我的ActiveDirectory设置的屏幕截图:

我也尝试使用以下Container:
const string Container = "OU=Users,DC=SLO1,DC=Foo,DC=Bar,DC=biz";
Run Code Online (Sandbox Code Playgroud)
这同样不成功.
如何在访问"用户"容器时指定我的容器?在尝试引入更复杂的需求之前,我尝试将其作为初始的简单设置.所以,我宁愿不满足于这个简单的解决方案,因为我无论如何都要对此进行故障排除,我相信.
我很好奇,如果以下情况是Chrome中的错误,按预期工作或开发人员错误.
所以,我有一个扩展.在manifest.json中,我请求两个站点的跨源权限:
"permissions": [
"http://www.foo.com/*",
"http://www.bar.com/*"
]
Run Code Online (Sandbox Code Playgroud)
我还声明了一个内容脚本:
"content_scripts": [
{
"matches": ["http://www.foo.com/*"],
"js": ["injectedScript.js"]
}
]
Run Code Online (Sandbox Code Playgroud)
所以,我已经表示我想在所有foo.com域中注入"injectScript.js"."injectScript.js"看起来像:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = handleStateChange; // Implemented elsewhere.
xhr.open("GET", 'http://www.bar.com/123'), true);
xhr.send();
Run Code Online (Sandbox Code Playgroud)
现在,我的Chrome扩展程序页面中添加了一个iframe.它看起来像这样:
<iframe src="http://www.foo.com/123"></iframe>
Run Code Online (Sandbox Code Playgroud)
此框架的src与我的内容脚本模式匹配.因此,当帧加载时,injectScript.js被注入其中.但是injectScript中的XMLHttpRequest失败了.
现在,这让我想知道预期的行为是什么.当我请求相应的权限时遇到CORS问题令人沮丧...但我也可以理解我试图从我的chrome扩展程序之外的原点访问" http://www.bar.com/123 " ...虽然iframe已加载到我有权访问的扩展中.
有关此事的任何人的想法?
编辑:如果你想知道从实际的角度来看我能得到什么 - 我想注入一些javascript,可以在注入页面的视频上调用getImageData.但是,我不能,因为getImageData认为视频的src是受污染的数据.我已经请求了相应的权限,但它没有进入iframe.
更新:这是一张图片:http://i.imgur.com/PR48HO2.png
我正在学习可转移对象:http://updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast
它们看起来非常棒,我想在我的扩展中使用它们来加速将数据从iframe内部传递到iframe之外.
我有这个示例代码工作,但它使用Web Worker:
var s = document.createElement("script");
s.type = "text/js-worker";
s.innerHTML = 'console.log("i ran!");';
document.body.appendChild(s);
var blob = new Blob(Array.prototype.map.call(document.querySelectorAll("script[type=\"text\/js-worker\"]"), function (oScript) {
return oScript.textContent;
}), { type: "text/javascript" });
var worker = new Worker(window.URL.createObjectURL(blob));
var arrayBuffer = new ArrayBuffer(1);
worker.onmessage = function (oEvent) {
console.log("Called back by the worker!\n");
};
console.log("worker:", worker);
worker.postMessage(arrayBuffer, [arrayBuffer]);
if (arrayBuffer.byteLength) {
console.error("nope");
} else {
console.log("it worked");
}
Run Code Online (Sandbox Code Playgroud)
有没有人有任何关于支持的信息,或支持使用端口的crbug的时间表,如:
var port = chrome.runtime.connect({
name: 'youTubeIFrameConnectRequest'
});
//port.postMessage -- transferrable …Run Code Online (Sandbox Code Playgroud) 我开发了一个Web控制面板,其中包含嵌入控件内部的控件结构.在许多情况下,我有一个控件的ID,需要处理实际的控件对象.因此,我使用一个实用方法,一个递归的FindControl实现,它搜索页面(或任何其他提供的对象,但我总是使用Page),作为控件的ID.
/// <summary>
/// Page.FindControl is not recursive by default.
/// </summary>
/// <param name="root"> Page </param>
/// <param name="id"> ID of control looking for. </param>
/// <returns> The control if found, else null. </returns>
public static Control FindControlRecursive(Control root, string id)
{
if (int.Equals(root.ID, id))
{
return root;
}
foreach (Control control in root.Controls)
{
Control foundControl = FindControlRecursive(control, id);
if (!object.Equals(foundControl,null))
{
return foundControl;
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
此功能可以变得非常慢.一旦我把log4net登录到它,我意识到有多慢.我现在正试图尽可能地离开它,但我不知道我有什么其他选择,如果有的话.
例如,用户将控件拖放到我的网页上.事件处理程序如下所示:
protected void RadListBox_Dropped(object sender, RadListBoxDroppedEventArgs e)
{ …Run Code Online (Sandbox Code Playgroud) 我有一个名为RegisteredItems的项目集合.我不关心RegisteredItems中项目的顺序,只关注它们是否存在.
我在RegisteredItems上执行两种类型的操作:
根据:我什么时候应该使用HashSet <T>类型?罗伯特R.说,
"迭代HashSet有点危险,因为这样做会对集合中的项目施加一个顺序.该顺序实际上不是集合的属性.你不应该依赖它.如果集合中的项目的排序很重要对你来说,那个系列不是一套."
在某些情况下,我的收藏将包含50-100个项目.我意识到这不是大量的项目,但我仍然希望获得使用HashSet而不是List的回报.
我发现自己正在查看以下代码并想知道该怎么做:
LayoutManager.Instance.RegisteredItems.ToList().ForEach( item => item.DoStuff() );
vs
foreach( var item in LayoutManager.Instance.RegisteredItems)
{
item.DoStuff();
}
Run Code Online (Sandbox Code Playgroud)
RegisteredItems用于返回一个IList<T>,但现在它返回一个HashSet.我觉得,如果我使用HashSet提高效率,将它作为List进行转换是不合适的.然而,Robert的上述引言让我对迭代它感到不安.
在这种情况下,正确的呼叫是什么?谢谢
我正在用javascript构建歌曲播放列表.我使用了一个关联数组foo- 我的对象的结构看起来类似于:
foo[songID] = songURL;
Run Code Online (Sandbox Code Playgroud)
我正在努力建立洗牌功能.我想从这个列表中随机选择一首歌.有没有一种简单的方法可以做到这一点 - 数组没有索引.
我的数组填充如下:
updateLabels: function () {
var diagrams = _stage.diagramLayer.getChildren();
var componentIDs = new Array();
for (var index = 0; index < diagrams.length; index++) {
componentIDs.push(diagrams[index].componentID);
}
var self = this;
$.ajax({
url: '../PlanView/UpdateDiagrams',
type: 'POST',
data: { ComponentIDs: JSON.stringify(componentIDs), RackInfo: $('#RackInfoSelect').val() },
success: function (data) {
console.log('success');
},
error: function () {
console.log("error");
}
});
},
Run Code Online (Sandbox Code Playgroud)
服务器端我有这个方法:
[CompressionFilterAttribute]
public JsonResult UpdateDiagrams(List<int> componentIDs, string rackInfo)
{
List<object> diagramInformation = new List<object>(componentIDs.Count());
}
Run Code Online (Sandbox Code Playgroud)
我的数据正在通过网络传递:
ComponentIDs:[74,445,732,351,348,347,1123,599,600,1053,350,601,602,603,332,99,877,919,349,348,347,347,349,348]
RackInfo:Equipment Weight
Run Code Online (Sandbox Code Playgroud)
我成功获得RackInfo,如果我将UpdateDiagrams更改为期望List<string>然后我得到一个包含一个项目的列表,整个ComponentIDs字符串.
我在这里做错了什么?
编辑:我在MVC3下工作.我应该能够在传递给我的控制器时利用某种自动反序列化,我只是不确定如何. …
我有一个动态创建的HTML元素.它有一些CSS和HTML:
<div id="element"></div>
#element{
height: 200px;
width: 200px;
background-color: blue;
}
#element:hover{
cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)
然后,当鼠标仍然在元素上时,它将以编程方式从页面中删除.
$('#element').hover(function(){
setTimeout(function(){
$(this).remove();
}.bind(this), 1000);
});
Run Code Online (Sandbox Code Playgroud)
这使光标看起来像一个指针,直到鼠标移动.有什么办法可以解决这个问题,同时仍然使用CSS悬停?
这是一个小提琴:http://jsfiddle.net/mHdtU/
编辑:这是最新的谷歌浏览器.此外,显然HIDING元素会导致光标更新.光标未更新的事实是否删除了谷歌浏览器中的错误?
$('#element').hover(function(){
setTimeout(function(){
$(this).hide();
setTimeout($(this).remove.bind(this));
}.bind(this), 1000);
});
Run Code Online (Sandbox Code Playgroud) 我有一个绝对定位的元素,我正在转换到视口.元素中包含文本.我的理解是这样的:
将过渡应用于元素的位置(即顶部,左侧,底部,右侧,边距,填充)是不好的做法.这样做会强制浏览器在元素在页面上移动时重新流动.
将变换应用于元素是一种很好的做法,因为当模型位置保持在原始位置时,浏览器不会产生重新流动.
将转换应用于Webkit浏览器中的元素会强制进行硬件加速.(或者可以强制这样做,即如果转换:translateX没有那么你可以使用translate3d,z轴为0).
硬件加速的文本不被视为矢量.这会导致文本变得模糊.
我发现这篇文章讨论了解决方法,但我并不满意.
看起来使用变换转换元素会更好,但是,一旦元素到达其静止状态,用相同度量的左/顶部替换变换以从硬件加速中移除元素.
我是在正确的轨道上吗?这里有更简单的解决方案吗?
举个简单的例子,在切换will-change属性时查看文本.您可以看到,即使没有发生变换,文本也会在预期发生变换时模糊.这与在元素上完成移动/将文本放在移动元素旁边之后在元素上留下变换是一回事.告诉Chrome将文本保持为向量会非常好,但我怀疑所有父元素都会被提升,这就是文本被更改的原因.
$('button').click(function() {
$('.example').toggleClass('is-blurred');
});Run Code Online (Sandbox Code Playgroud)
.example {
font-size: 24px;
}
.example.is-blurred {
will-change: transform;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Toggle blur</button>
<div class='example'>
I am some text
</div>Run Code Online (Sandbox Code Playgroud)
我有一些代码,目前正在Chrome Stable上正确呈现.我收到有关代码在Beta和Dev上工作不正确的报告,我能够在Canary上重现该问题.我发现这个PSA似乎与我的问题有关.所以,我正在假设这是一个更严格遵循规范而不是错误的变化.
我的软件仅定位到Google Chrome.因此,不一定需要强大的解决方案,尽管向后兼容性会很好.
设置是:
display:flex,flex-direction: column并且已经max-height应用到它.max-height行为改变是:
max-height强制执行和孩子不爆发.max-height被忽视,孩子爆发.我能够防止儿童通过应用突破max-height的inner元素.然而,这是不可取的,因为我需要在非设计的例子中减少max-height高度footer不容易做到的值.
以下代码段突出显示了我的问题:
.outer {
display: flex;
flex-direction: column;
max-height: 410px;
}
.inner {
display: flex;
flex-direction: column;
}
.content {
width: 200px;
height: 500px;
background-color: green;
}
.footer {
height: 20px;
width: 200px;
background-color: red;
}Run Code Online (Sandbox Code Playgroud)
<div class='outer'>
<div class='inner'>
<div class='content'>
</div>
</div>
<div class='footer'>
</div>
</div> …Run Code Online (Sandbox Code Playgroud)c# ×4
javascript ×4
css ×3
css3 ×3
cors ×1
cross-domain ×1
enumeration ×1
flexbox ×1
hashset ×1
html ×1
json ×1
list ×1
transferable ×1