此网页是为firefox构建的,但它必须显示一个要在IE中打开的链接。所以我试图使用我在net上找到的代码。但它不起作用。我错过了什么?
javascript代码:
<script type="text/javascript">
$(document).ready(function(){
function myFunction()
{
alert("opening now....");
var localFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
var url = content.document.location.href;
var args = ["-new-tab", url];
localFile.initWithPath("C:\\Program Files \(x86\)\\Internet Explorer\\iexplore.exe");
process.init(localFile);
process.run(false, args, args.length);
}
});
HTML代码:
<p>Click the link top open in IE</p>
<a href="http://www.google.com/" onclick="myFunction()">open in IE</a>
当我点击链接时,会打开google页面:在同一个窗口中,在同一个borser中,在同一个tab.Pl建议中。
谢谢。答案 0 :(得分:0)
myFunction未在全局范围内定义。将它添加到dcoument ready回调可以保证这一点。
您可以将myFunction移到文档就绪回调之外。但是:
在这种情况下,我会使用jquery附加一个单击处理程序,如下所示
$(function() {
$("a").click(function() {
// do stuff
});
})
注意,这会选择所有锚点并应用相同的事件处理程序。理想情况下,您将使用选择器。
$("#myGoogleLink").click(function() {
})
将id myGoogleLink添加到您的html锚点