假设我在浏览器中打开了一个页面,然后转到我的地址栏并输入另一个页面.然后我点击后退按钮转到我的原始页面.我想写一些可以检测这种情况并响应它的Javascript代码.
我最好不能告诉ready事件,onload在这种情况下,页面本身的任何内联Javascript都会被重新执行.还有什么我可以做的吗?
跨浏览器支持在这里很重要.基于jQuery的解决方案首选但不是必需的.
为清晰起见编辑:我假设的导航是页面A - >页面B - >返回页面A,我假设页面B可能在我的控制之下,也可能不在我的控制之下.
有一个我想要分叉的开源项目.它有一个公共SVN存储库,我想从中查看源代码,将其克隆到我的私有存储库中,然后开始进行更改.如果可能的话,我希望以后能够合并来自上游存储库的更改.到目前为止,我已经能够这样做了:
这有效但看起来很难看,我完全不相信合并会正常工作.有没有更好的办法?
编辑:为了排除"只提交补丁"的回复,只需说明这是我在我的应用程序中需要的功能,但因为它故意破坏与现有功能的兼容性,它将不被上游接受.
我有一种情况,我想要一个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/
我正在使用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.
我目前正在使用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模板.
使用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中的某种崩溃/挂起状态 - 我无法完全调试正在发生的事情,但我猜这实际上并不是克隆页面的正确方法.什么是?
我有一个数据库(如果重要的话是 MySQL 5.6),我想在其中存储通常但不总是整数的数值。现在我有一个DECIMAL(10, 3)看起来运行良好的专栏。我正在寻找的是一种我知道在本机 JDBC 中不存在的方法,但类似于:
public Number ResultSet.getNumber()
Run Code Online (Sandbox Code Playgroud)
如果底层 SQL 值实际上是一个整数,它将返回一个Long(甚至可能是Integer),Double否则返回一个。有没有办法从 JDBC 中的 SQL DECIMAL 列获得等效结果?
我有一个需要调用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来说非常重要.
我有一种情况,在某种情况下,我想要任何jQuery ready处理程序绑定不会实际触发DOMContentReady事件.这些处理程序绑定在各个地方,包括各种包含文件,插件等.因此,虽然我可以在靠近页面顶部的脚本中设置某种全局变量,并且if在每个$(document).ready()绑定之前设置检查此变量的条件,但我宁愿不这样做.
理想情况下,我正在寻找两件事之一,
.ready()ready()处理程序.显而易见的一个,$(document).unbind('ready')不这样做,我猜因为.ready()不是普通的事件绑定.
可以这样做吗?如果是这样,怎么样?
我有一个模糊的想法是扩展jQuery原型,并ready()用一个检查我将要引入的新属性的方法替换.那有意义吗?
与我最近的问题相关的Perl web服务与nginx和FastCGI - 无法读取参数我开始使用模块CGI::Fast并发现我相当肯定是它的一个错误 - 可能是文档错误而不是代码,但无论如何.报告此问题的最佳方式是什么,或者至少以官方的方式询问它?
java ×5
html ×2
javascript ×2
jquery ×2
spring ×2
applet ×1
cpan ×1
css ×1
jakarta-mail ×1
jaxp ×1
jdbc ×1
merge ×1
mime ×1
mysql ×1
navigation ×1
open-source ×1
pdfbox ×1
perl ×1
spring-el ×1
svn ×1