小编ano*_*ery的帖子

如果文件存在,则更改图像源

我有http://jsfiddle.net/rcebw/3/

关键是我会有很多这些inlinedivdiv.每个内部都有2个div,一个用于保存图像,另一个用于保存链接.这些是从另一个站点上的子站点列表动态生成的.

我想要它做的是检查每个div与班级inlinediv.获取div中链接的内部文本,iconLinkText并在站点中搜索具有该名称的文件.(http://www.mojopin.co.uk/images/用于此测试.)如果存在,则将图像src更改为它.

我可能采取了绝对错误的路线,但我似乎无法让它工作.测试时甚至找不到inlinedivdiv!说它是空的.

我对jQuery很新,但有人有任何建议吗?(我甚至不知道我是否已经解释得很好!)

javascript jquery

17
推荐指数
1
解决办法
2万
查看次数

匹配jquery .text()到 

由于我无法控制的情况,SharePoint,我有以下代码.

var item = $('<span><font size=1>&nbsp;</font></span>').text()
Run Code Online (Sandbox Code Playgroud)

我试图比较.text()价值,&nbsp;不知道该怎么做.单步执行代码item似乎等于"",这是有道理的.但是item == " "回报是假的.应该如何进行这种比较?

编辑:示例小提琴

http://jsfiddle.net/hUBeP/2/

jquery whitespace text

17
推荐指数
1
解决办法
1万
查看次数

将2个Divs垂直对中

我有2个div,我想在另一个div内垂直居中.目前我有:

http://jsfiddle.net/5vpA3/1/

现在我明白这里发生了什么,但我希望左侧div在该容器内垂直对齐,而右侧div则相同.但它们是垂直对齐而不是单独对齐.我尝试过各种各样的东西,但似乎无法让它发挥作用.

css

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

Facebook在fbconnect上的整合破坏了链接

我正在尝试将Facebook集成到我的Android应用程序中,然后关闭并登录到Facebook,但是当它尝试将访问令牌传递回应用程序时它只返回:

fbconnect:// success#access_token = [ACCESS TOKEN]的网页 可能暂时关闭,或者可能已永久移动到新的网址.

很明显,[ACCESS TOKEN]一长串的字符在哪里.

我有正确的应用程序ID,并将密钥哈希添加到Facebook.但是我可以错过哪个过程?

码:

public class FacebookActivity extends Activity {

private static final String APP_ID = "[MY APP ID]";
private static final String[] PERMISSIONS = new String[] {"publish_stream"};

private static final String TOKEN = "access_token";
    private static final String EXPIRES = "expires_in";
    private static final String KEY = "facebook-credentials";

private Facebook facebook;
private String messageToPost;

public boolean saveCredentials(Facebook facebook) {
        Editor editor = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE).edit();
        editor.putString(TOKEN, facebook.getAccessToken());
        editor.putLong(EXPIRES, facebook.getAccessExpires());
        return …
Run Code Online (Sandbox Code Playgroud)

java authentication android fbconnect

11
推荐指数
1
解决办法
2万
查看次数

列表的独特组合

绝对的心灵空白.那是其中的一天.但我一直在寻找一种解决方案,以获得一定长度的项目列表的独特组合.例如,给定一个列表[a,b,c]和长度为2,它将返回[a,b] [a,c] [b,c]但不返回[b,a] [c,a] [c ,b]的

为此,我发现了许多代码,但似乎没有一个代码.以下代码似乎最合适,我一直在尝试根据我的需要改变它:

// Returns an enumeration of enumerators, one for each permutation
// of the input.
public static IEnumerable<IEnumerable<T>> Permute<T>(IEnumerable<T> list, int count)
{
    if (count == 0)
    {
        yield return new T[0];
    }
    else
    {
        int startingElementIndex = 0;
        foreach (T startingElement in list)
        {
            IEnumerable<T> remainingItems = AllExcept(list, startingElementIndex);

            foreach (IEnumerable<T> permutationOfRemainder in Permute(remainingItems, count - 1))
            {
                yield return Concat<T>(
                    new T[] { startingElement },
                    permutationOfRemainder);
            }
            startingElementIndex += 1;
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# algorithm

9
推荐指数
2
解决办法
6582
查看次数

使用AJAX屏幕抓取包含按钮的网页

我正在尝试自动化我们的一些流程,一个包括登录外部网页,单击链接以展开详细信息,然后获取显示的所有详细信息.

我已经登录了该进程,并且可以在扩展后获取所有详细信息.

问题在于点击链接.链接定义如下(我删除了该Submit方法实际执行的操作,因为代码很长并且可能无关紧要.显然,img占位符就是一个例子):

<a id="form:SummarySubView:closedToggleControl" onclick="A4J.AJAX.Submit(...); return false;" href="#">
    <img ... />
</a>
Run Code Online (Sandbox Code Playgroud)

我使用以下数据:

void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    WebBrowser browser = (WebBrowser)sender;

    HtmlElement expandDetails = browser.Document.GetElementById("form:SummarySubView:closedToggleControl");
    //When open ID for element is "form:SummarySubView:openToggleControl"

    if(expandDetails == null) //If already expanded
    {
        //Stuff
    }
    else
    {
        expandDetails.InvokeMember("click"); //Click on element to run AJAX
    }
}
Run Code Online (Sandbox Code Playgroud)

在运行时,expandDetails.InvokeMember("click"); browser_DocumentCompleted会按预期再次调用,但文档与之前相同,并expandDetails再次使用"已关闭"ID进行查找.这意味着我所寻找的细节从未显示过.

在AJAX脚本正确运行后如何访问文档?

添加Timer延迟检查文档似乎没有奏效.

c# ajax screen-scraping webbrowser-control

9
推荐指数
1
解决办法
545
查看次数

在x64 Windows Server 2003上进行远程调试

我在32位Windows Server 2003计算机上安装了Web服务.通过在我的机器上的共享中提供x86调试器exe,我能够使用VS 2010从我的Windows 7 64位计算机远程调试它.一切都工作正常,直到周末他们决定将服务器机器升级到64位.

现在,当我尝试使用x86调试器进行远程调试时,它会给出错误:

远程调试器

当我使用x64调试器时,它不会抛出错误,但它不会加载项目的符号,所以无论如何我都无法调试它.

有什么想法为什么?我应该做些什么呢?

remote-debugging visual-studio-2010

8
推荐指数
1
解决办法
755
查看次数

确定最大开放空间的高效算法

我有一个情况,如下图所示,这需要我找出一个区域内最大的圆圈(开放空间).在下面的例子中,黑色圆圈是固定的已知位置,我需要找到不接触黑色圆圈的最大区域(由橙色和绿色圆圈表示).在下面的例子中,橙色圆圈是最大的开放空间,这是我想要计算的区域.

开放空间

我可以强行它,选择一个位置并展开一个圆圈,直到它碰到一个黑点,然后只记录圆的位置和半径(开放空间),但是迭代所有可能的位置将会非常低效.

有没有一种有效的方法来分析这种情况下最大的开放空间在哪里?请记住,此字段上的最大黑点数将为15,但可能会低很多.

编辑感谢Yves和所有其他评论者.根据答案和其他评论做出的一些澄清.黑盒子是绑定的,因此定义的任何区域必须在黑盒子内.黑色圆圈的半径是已知的并且是静态的,但是出于这些目的,它们可以减少到点.最后,圆的近似是可以接受的.它将用于AI例程中,该例程在确定哪个区域最佳时具有误差范围.因此,如果圆圈的半径或位置略微偏离,那么这不是一个大问题.

我目前正在研究Voronoi方法,我想我理解它,但现在尝试拉出适合的算法就是问题!我会测试并回复你.

编辑2:感谢Yves我查看了Voronoi图并使用了一种简单的方法来循环遍历所有Voronoi顶点(以及它穿过边界框的点)并找到该中心点的最大圆圈,该圆圈不包含任何"黑圈".使用相对较小的有限点集,我很满意这个实现.请参阅下面的结果,显示空间中的前3个空心圆.

实施解决方案

algorithm performance area

8
推荐指数
1
解决办法
554
查看次数

通过CASE语句选择多个值?

我有一个Vehicle表,其中包含Owner_ID字段.此Owner_ID将对应Customer表中的ID字段或Business表中的ID字段.我希望根据ID所属的表返回不同的值.

我有这样的声明:

SELECT v.Make, v.Model
FROM Vehicle v
LEFT JOIN Customer c ON c.ID = v.Owner_ID
LEFT JOIN Business b ON b.ID = v.Owner_ID
Run Code Online (Sandbox Code Playgroud)

因此,如果Owner_ID = Customer.ID,我想返回客户姓氏,如果Owner_ID = Business_ID,则返回业务名称.我知道我可以CASE这样说:

SELECT v.Make, v.Model,
    CASE WHEN c.ID IS NOT NULL THEN c.Surname
        WHEN b.ID IS NOT NULL THEN b.Name
Run Code Online (Sandbox Code Playgroud)

但有没有办法从一个案例陈述中获得多个值?类似的东西:(顺便说一句,我知道这是完全错误的.)

SELECT v.Make, v.Model,
    CASE WHEN c.ID IS NOT NULL THEN
            SELECT c.Surname, c.Date_Of_Birth
        WHEN b.ID IS NOT NULL THEN
            SELECT b.Name, b.Founded
Run Code Online (Sandbox Code Playgroud)

或者我必须这样做:

SELECT v.Make, v.Model,
    CASE WHEN c.ID IS …
Run Code Online (Sandbox Code Playgroud)

mysql

7
推荐指数
1
解决办法
6024
查看次数

ASP.Net服务器上的进程无法通过IIS正确运行

我试图在ASP.Net Web应用程序中的上传文件上运行防病毒扫描.我们正在使用Sophos,因此可以访问他们的命令行API sav32cli.在我使用的代码中:

Process proc = new Process();
proc.StartInfo.FileName = @"C:\Program Files (x86)\Sophos\Sophos Anti-Virus\sav32cli.exe";
proc.StartInfo.Arguments = @"-remove -nc " + SavedFile;
proc.StartInfo.Verb = "runas";
proc.Start();
proc.WaitForExit();
int exitCode = proc.ExitCode;
Run Code Online (Sandbox Code Playgroud)

当单步执行代码时,当连接到w3wp开发服务器上的进程时,代码只是从一行跳到另一行似乎什么都不做.从dev服务器上的代码运行时,它会执行预期的扫描文件并删除它是否被视为病毒.

服务器正在运行IIS 8.0,以及.Net Framework 4中内置的应用程序.我已根据这些说明更改了机器配置以允许进程作为SYSTEM帐户运行.https://support.microsoft.com/en-us/kb/317012#%2Fen-us%2Fkb%2F317012

<processModel  userName="SYSTEM" password="AutoGenerate" />
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?这种实施的最佳实践是什么?

编辑:调用时,Process返回ExitCode2(错误停止执行),而不是预期的0(扫描工作,没有病毒),或3(扫描工作,发现病毒).

编辑2:根据下面的评论,我将代码更改为:

Process proc = new Process();
proc.StartInfo.FileName = @"C:\Program Files (x86)\Sophos\Sophos Anti-Virus\sav32cli.exe";
proc.StartInfo.Arguments = @"-remove -nc " + SavedFile;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
StringBuilder output = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net iis antivirus process

7
推荐指数
1
解决办法
1205
查看次数