小编Dan*_*Dan的帖子

Javascript:检测页面何时"返回"导航到

假设我在浏览器中打开了一个页面,然后转到我的地址栏并输入另一个页面.然后我点击后退按钮转到我的原始页面.我想写一些可以检测这种情况并响应它的Javascript代码.

我最好不能告诉ready事件,onload在这种情况下,页面本身的任何内联Javascript都会被重新执行.还有什么我可以做的吗?

跨浏览器支持在这里很重要.基于jQuery的解决方案首选但不是必需的.

为清晰起见编辑:我假设的导航是页面A - >页面B - >返回页面A,我假设页面B可能在我的控制之下,也可能不在我的控制之下.

html javascript navigation jquery

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

管理私有Subversion fork的正确工作流程:

有一个我想要分叉的开源项目.它有一个公共SVN存储库,我想从中查看源代码,将其克隆到我的私有存储库中,然后开始进行更改.如果可能的话,我希望以后能够合并来自上游存储库的更改.到目前为止,我已经能够这样做了:

  1. 在我自己的存储库中为此项目创建一个文件夹.
  2. 看看这个空文件夹.
  3. 将原始项目检入另一个位置.
  4. 删除此新位置中的所有.svn子目录.
  5. 将文件复制到我的私有存储库的工作副本中,提交一次,然后开始进行更改.

这有效但看起来很难看,我完全不相信合并会正常工作.有没有更好的办法?

编辑:为了排除"只提交补丁"的回复,只需说明这是我在我的应用程序中需要的功能,但因为它故意破坏与现有功能的兼容性,它将不被上游接受.

svn merge open-source

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

HTML强制img维度需要阻止?

我有一种情况,我想要一个img尚未加载的HTML 具有预设高度.原因是该高度将用于计算,该计算可能在图像完全加载之前触发并且需要保持准确.我尝试了以下方法:

<div>hello<img src='http://example.com/invalid.gif' class="testimage"> there</div>
Run Code Online (Sandbox Code Playgroud)

并加入一些CSS

.testimage {
    height: 200px;
    width: 200px;
}
?
Run Code Online (Sandbox Code Playgroud)

并且至少在Firefox 5中,没有渲染额外的空间(奇怪的是,破碎的图像也没有显示,只是空白).也就是说,直到我添加display: inline-block.在至少一些其他浏览器中,默认显示inline产生期望的结果.这是预期的吗?如果是这样,为什么?

这里也是一个jsFiddle:http://jsfiddle.net/uYXD4/

html css

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

Spring EL:使用地图访问进行安全导航

我正在使用Spring EL从一组相当复杂的嵌套映射和列表中提取值.我希望能够使用像这样的表达式

[9]['firstSubKey']['secondSubKey']
Run Code Online (Sandbox Code Playgroud)

除了[9]['firstSubKey']可能是null.我无法弄清楚如何正确使用安全导航:我试过了

[9]['firstSubKey']?['secondSubKey']
Run Code Online (Sandbox Code Playgroud)

[9]['firstSubKey']?.['secondSubKey']
Run Code Online (Sandbox Code Playgroud)

并且都返回了某种解析错误.我最终通过使用它得到了它

[9]['firstSubKey']?.get('secondSubKey')
Run Code Online (Sandbox Code Playgroud)

但这感觉很俗气.有没有更好的方法或者这只是SpringEL没有的功能?我正在使用Spring 3.1.3.

相关地,如果我有一个未知数量的元素的列表/数组,有没有办法安全地检查它?IE如果我有一个包含4个元素的数组,我想[5]返回null.它会抛出一个SpelEvaluationException.

java spring spring-el

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

使用Spring和JavaMail发送组合的纯文本/ HTML邮件

我目前正在使用JavaMail和Spring以HTML格式发送电子邮件.碰巧,HTML是由我的一些Velocity模板生成的,发送代码大致如下:

MimeMessagePreparator preparator = new MimeMessagePreparator() {

    @Override public void prepare(MimeMessage mimeMessage) throws Exception {
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");

            message.setSubject(msgInfo.getSubject());
            message.setFrom(msgInfo.getFrom());
            message.setReplyTo(msgInfo.getFrom());
            message.setTo(address);
            message.setText(someText, true);
    }
}

mailSender.send(preparator);
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但它只发送一个邮件的邮件text/html.我需要的是以纯文本部分的多部分替代方式发送它.有没有办法,使用Spring和JavaMail,以自动方式执行此操作?

PS在以前的生活中,当我使用VB和CDONTS进行编程时,这是内置的,但我似乎无法找到一种简单的方法来使用Java.纯文本版本看起来不错,它必须存在并不是非常重要.我正在努力避免的是必须为此保留第二组Velocity模板.

java spring mime jakarta-mail

5
推荐指数
1
解决办法
6918
查看次数

pdfbox:如何克隆页面

使用Apache PDFBox,我正在编辑现有文档,我想从该文档中获取一个页面并简单地克隆它,复制它包含的任何元素.作为一个额外的转折,我想获得对PDField这个新克隆页面中任何表单字段的所有s 的引用.这是我到目前为止尝试的代码:

            PDPage newPage = new PDPage(lastPage.getCOSDictionary());
            PDFCloneUtility cloner = new PDFCloneUtility(pdfDoc);
            pdfDoc.addPage(newPage);
            cloner.cloneMerge(lastPage, newPage);

            // there doesn't seem to be an API to read the fields from the page, need to filter them out from the document.
            List<PDField> newFields = readPdfFields(pdfDoc);
            Iterator<PDField> i = newFields.iterator();
            while (i.hasNext()) {
                if (i.next().getWidget().getPage() != newPage)
                    i.remove();
            }
Run Code Online (Sandbox Code Playgroud)

readPdfFields 我写的一个帮助方法是使用AcroForm获取文档中的所有字段.

但是这段代码似乎导致了我的JVM中的某种崩溃/挂起状态 - 我无法完全调试正在发生的事情,但我猜这实际上并不是克隆页面的正确方法.什么是?

java pdfbox

5
推荐指数
1
解决办法
7059
查看次数

SQL DECIMAL 到 Java 数字

我有一个数据库(如果重要的话是 MySQL 5.6),我想在其中存储通常但不总是整数的数值。现在我有一个DECIMAL(10, 3)看起来运行良好的专栏。我正在寻找的是一种我知道在本机 JDBC 中不存在的方法,但类似于:

public Number ResultSet.getNumber()
Run Code Online (Sandbox Code Playgroud)

如果底层 SQL 值实际上是一个整数,它将返回一个Long(甚至可能是Integer),Double否则返回一个。有没有办法从 JDBC 中的 SQL DECIMAL 列获得等效结果?

java mysql jdbc

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

如何欺骗Java服务提供者API(jaxp)

我有一个需要调用JAXP的applet,特别是SAXParserFactory.现在,正如您在Javadoc中看到的,这内部使用了此处记录的服务提供程序机制:

具体来说,如果它在我的任何应用程序JAR中找不到文件,META-INF/services/javax.xml.parsers.SAXParserFactory它将尝试从我的应用程序代码库中获取它.如果我的applet部署如下:

<applet code="com.example.applets.MyApplet" 
 codebase="http://www.example.com/myapp/" archive="myapp.jar, dom4j.jar">
Run Code Online (Sandbox Code Playgroud)

然后它会尝试向http://www.example.com/myapp/META-INF/services/javax.xml.parsers.SAXParserFactory发出HTTP请求

我宁愿它不这样做,特别是因为我的applet被签名,这个额外的HTTP调用会触发有关未签名代码的警告.

现在,显而易见的解决方案是将META-INF/services文件放在我的应用程序JAR中,就像它说的那样,但是我该怎么做却仍然使用用户的JRE默认JAXP实现?或者,有没有办法说服applet运行时查看我的JAR文件而不是codebase那个文件?

注意:我知道我也可以部署自己的JAXP-RI副本,但这对于applet来说非常重要.

java applet jaxp service-provider

4
推荐指数
1
解决办法
2571
查看次数

防止jQuery就绪处理程序触发

我有一种情况,在某种情况下,我想要任何jQuery ready处理程序绑定不会实际触发DOMContentReady事件.这些处理程序绑定在各个地方,包括各种包含文件,插件等.因此,虽然我可以在靠近页面顶部的脚本中设置某种全局变量,并且if在每个$(document).ready()绑定之前设置检查此变量的条件,但我宁愿不这样做.

理想情况下,我正在寻找两件事之一,

  • 我可以在包含之前在jQuery对象上设置的属性,它会告诉它忽略调用 .ready()
  • 我可以在DOMContentReady触发之前在内联脚本中调用文档末尾的方法取消绑定ready()处理程序.

显而易见的一个,$(document).unbind('ready')不这样做,我猜因为.ready()不是普通的事件绑定.

可以这样做吗?如果是这样,怎么样?

我有一个模糊的想法是扩展jQuery原型,并ready()用一个检查我将要引入的新属性的方法替换.那有意义吗?

javascript jquery javascript-events

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

如何报告CPAN模块错误

与我最近的问题相关的Perl web服务与nginx和FastCGI - 无法读取参数我开始使用模块CGI::Fast并发现我相当肯定是它的一个错误 - 可能是文档错误而不是代码,但无论如何.报告此问题的最佳方式是什么,或者至少以官方的方式询问它?

perl cpan bug-reporting

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