问题列表 - 第13710页

C#导航到WebBrowser控件中的Anchors

我们的Winforms应用程序中有一个Web浏览器,可以很好地显示xslt呈现的所选项目的历史记录.

xslt在输出的html中写出<a>标签,以允许webBrowser控件导航到所选的历史条目.

因为我们没有在严格的网络意义上"导航"到html,而是通过DocumentText设置html,所以我无法使用#AnchorName"导航"到所需的锚点,因为webBrowser的Url为null(编辑:实际上是完成它是关于:空白).

在这种情况下,如何动态导航到Web浏览器控件的html中的Anchor标签?

编辑:

感谢sdolphion的提示,这是我使用的最终代码

void _history_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        _completed = true;
        if (!string.IsNullOrEmpty(_requestedAnchor))
        {
            JumpToRequestedAnchor();
            return;
        }
    }

    private void JumpToRequestedAnchor()
    {
        HtmlElementCollection elements = _history.Document.GetElementsByTagName("A");
        foreach (HtmlElement element in elements)
        {
            if (element.GetAttribute("Name") == _requestedAnchor)
            {
                element.ScrollIntoView(true);
                return;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# webbrowser-control winforms

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

我们应该弃用"记住我"复选框并开始假设吗?

我最近一直在考虑这个问题,我想从这个精彩的社区得到一些反馈.假设用户在登录时想要被记住是否安全?如果他们使用公共计算机,是否可以安全地假设他们在离开之前足够智能注销?

login preferences

5
推荐指数
3
解决办法
419
查看次数

如何在C程序中获取日期和时间值?

我有这样的事情:

char *current_day, *current_time;
system("date +%F");
system("date +%T");
Run Code Online (Sandbox Code Playgroud)

它在stdout中打印当前日期和时间,但我想获取此输出或将它们分配给current_daycurrent_time变量,以便稍后我可以使用这些值进行一些处理.

current_day ==> current day
current_time ==> current time
Run Code Online (Sandbox Code Playgroud)

我现在能想到的唯一解决方案是将输出定向到某个文件,然后读取文件,然后将日期和时间的值分配给current_daycurrent_time.但我认为这不是一个好方法.还有其他短而优雅的方式吗?

c datetime

57
推荐指数
4
解决办法
29万
查看次数

PyQt4中的多个Windows

我有一个PyQt程序用于可视化一些python对象.我想在自己的窗口中显示多个对象.

在PyQt4中实现多窗口应用程序的最佳方法是什么?

目前我有以下内容:

from PyQt4 import QtGui

class MainWindow(QtGui.QMainWindow):
    windowList = []

    def __init__(self, animal):
        pass

    def addwindow(self, animal)
        win = MainWindow(animal)
        windowList.append(win)

if __name__=="__main__":
    import sys

    app = QtGui.QApplication(sys.argv)

    win = QMainWindow(dog)
    win.addWindow(fish)
    win.addWindow(cat)

    app.exec_()
Run Code Online (Sandbox Code Playgroud)

但是,这种方法并不令人满意,因为当我尝试在其自己的类中分解MultipleWindows部件时,我遇到了问题.例如:

class MultiWindows(QtGui.QMainWindow):
    windowList = []

    def __init__(self, param):
        raise NotImplementedError()

    def addwindow(self, param)
        win = MainWindow(param) # How to call the initializer of the subclass from here?
        windowList.append(win)

class PlanetApp(MultiWindows):
    def __init__(self, planet):
        pass

class AnimalApp(MultiWindows):
    def __init__(self, planet):
        pass

if __name__=="__main__":
    import …
Run Code Online (Sandbox Code Playgroud)

python inheritance pyqt4

3
推荐指数
1
解决办法
9174
查看次数

Ruby链接为字符串中的URL

有一些关于使用正则表达式链接文本的帖子.最受欢迎的是这篇文章.

不过我的规格有点棘手:

describe TextFormatter do 

  def l(input) 
    TextFormatter.gsub_links!(input){|link| "!!#{link}!!"}
  end

  it "should detect simple links" do
    l("http://www.cnn.com").should == "!!http://www.cnn.com!!"
  end

  it "should detect multi links" do
    l("http://www.cnn.com http://boats.com?help.asp").should == "!!http://www.cnn.com!! !!http://boats.com?help.asp!!"
  end

  it "should compensate for parans properly" do 
    l("(http://this.is?hello_world)").should == "(!!http://this.is?hello_world!!)"
  end

  it "should ignore existing links" do 
    s = "<A HREF='http://sam.com'> http://sam.com </A>"
    l(s.dup).should == s
  end

  it "should allow parans" do 
    l("http://sam.com.au?(red)").should == "!!http://sam.com.au?(red)!!"
  end

end
Run Code Online (Sandbox Code Playgroud)

任何想法如何实现毛茸茸的正则表达式:

这是我到目前为止的地方(它未通过2次测试):

  def gsub_links!(input)
    regex = /https?\:\/\/[\-\w+&@#\/%?=~\(\)\|!:,.;]*[\-\w+&@#\/%=~_\(\)|]/
    input.gsub!(regex) { …
Run Code Online (Sandbox Code Playgroud)

ruby regex linkify

6
推荐指数
1
解决办法
1817
查看次数

我可以将清单文件添加到其他人的exe中吗?

我有一些我没有代码的EXE.我还可以添加清单文件吗?

另外,根据我对该主题的理解,对于符合Vista标准的程序,它不应该写入任何安全的位置,如HKLM,Program Files等.

对于注册表,我们可以使用HKCU,但是关于在Program Files中创建的文件?它们应该在执行EXE期间在不安全的位置创建吗?

谢谢

c++ windows-vista

3
推荐指数
1
解决办法
1749
查看次数

ItemsControl中的DataTemplate中的WPF UserControl - 如何绑定到ItemsSource的父级

主题行说明了一切!我有一个用户控件,可以成功绑定到一个Fullname对象 - 即它工作正常.

我现在需要显示这些列表,并且,当控件位于ItemsControl.Template中的DataTemplate中时,这也可以正常工作.

但是,控件有一个属性(InEditMode),它不是Fullname对象的属性,而是具有ItemsControl绑定的FullnameList属性的对象,通过ItemsSource.当控件不在列表中并且绑定到名为ParentInEditMode和ParentFullname的父兄弟属性时,此InEditMode属性可正常工作.

问题是 - 当控件是ItemsControl时,"获取"父对象的编辑模式属性需要什么样的绑定表达式?

或者,我应该重新设计Fullname对象以包含EditMode属性吗?

提前谢谢了!

更新:

该项(即绑定到ItemsControl的集合中的项)没有这样的属性.代码很简单:

<ItemsControl ItemsSource="{Binding Path=FullnameList}"> 
...then...
<ItemsControl.ItemTemplate>
  <DataTemplate>
    <jasControls:NameView
      NameValue="{Binding Path=.}" 
      InEditMode= ??????? />
Run Code Online (Sandbox Code Playgroud)

整体父级(窗口的视图模型)具有以下属性:

  • FullnameList
  • ParentInEditMode
  • Fullname(用于测试NameView的单项,与任何列表控件之外的xaml完美配合使用:

    <jasControls:NameView NameValue="{Binding Path=Fullname}" InEditMode="{Binding Path=ParentInEditMode}"/>
    
    Run Code Online (Sandbox Code Playgroud)

我想将编辑模式应用于整个集合 - 使该标志成为Fullname的一部分似乎不对!?

data-binding wpf binding user-controls itemscontrol

8
推荐指数
2
解决办法
9441
查看次数

在PHP会话中存储对象

PHP文档说"你不能在会话变量中使用引用,因为没有可行的方法来恢复对另一个变量的引用."

这是否意味着我不能拥有以下内容:

session_start();
$user = new User;
$user->name = 'blah';
$_SESSION['user'] = $user;
Run Code Online (Sandbox Code Playgroud)

我试图在会话中存储一个简单的字符串和一个User对象,该字符串始终在页面之间或页面刷新之后持续存在.但是,$ _SESSION中的User变量丢失(变为空).

任何的想法?

编辑:我已确认在页面刷新之前和之后所有这些页面/子页面中的session_id都相同.

编辑:奇怪的是,在我尝试下面的序列化和反序列化方法后,会话中的序列化用户对象(或字符串)仍然消失!

编辑:最后我弄明白了这个bug是什么,看起来好像$ _SESSION ['user']被一些神秘的力量覆盖,如果我使用除'user'之外的任何变量,那么一切都很好.当你将对象放在$ _SESSION中时,PHP(至少5.3这是我正在使用的版本)会自动序列化和反序列化.

session_start();
$user = new User();
$user->name = 'blah'
$_SESSION['myuser'] = $user; 
Run Code Online (Sandbox Code Playgroud)

php session

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

心跳协议/算法或最佳实践

最近我为我编写的一个软件添加了一些负载均衡功能.它是一个联网的应用程序,它根据来自SQL数据库的输入执行一些数据处理.由于压缩可能非常密集,我已经添加了在不同服务器上运行此应用程序的多个实例以分割负载的功能,但现在负载平衡是一种手动操作.用户必须指定哪些实例占用输入域的哪个部分.

我想把它提升到一个新的水平,并对实例进行编程,以自动协商输入数据的潜水,并识别其中一个"消失"(已经崩溃或已经断电),以便其余的实例可以采取在失败的实例的工作量上.

为了实现这一点,我正在考虑在实例之间使用简单的心跳协议来确定谁在线以及谁不在线,虽然这不是非常复杂但我想知道是否有任何已建立的心跳网络协议(基于UDP,TCP或两者兼而有之).

显然,在集群,故障转移和高可用性技术的网络世界中,这种情况发生了很多,所以我想最后我想知道是否有任何已建立的协议或算法,我应该知道或实现.

编辑

根据答案,似乎没有完善的心跳协议或没有人知道它们(这意味着它们毕竟不是那么完善)在这种情况下我只是要滚动我自己的.

虽然没有一个答案提供了我特别想要的东西,但我会投票支持Matt Davis的答案,因为它是最接近的,他指出了使用多播的好主意.

谢谢大家的时间〜

sockets network-programming network-protocols distributed-computing

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

如何使用jQuery更改<a href="somewhere.html" id="link">的行为?

对于那些启用了javascript的用户,点击它们应该执行OnClick()

对于那些禁用了javascript的用户,请点击它们,只需转到somewhere.html,

假设只有$('#link')可以访问,怎么做?

jquery href

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