Jquery 由于target="_“空白”;不';不能验证吗?
我正在使用jQuery,希望在新窗口中打开某些链接 但是,我希望将其作为有效的XHTML1.1传递。此外,我认为这是一种行为,应该在正确的层中,即JavaScriptJquery 由于target="_“空白”;不';不能验证吗?,jquery,Jquery,我正在使用jQuery,希望在新窗口中打开某些链接 但是,我希望将其作为有效的XHTML1.1传递。此外,我认为这是一种行为,应该在正确的层中,即JavaScript 有可用的jQuery插件吗?我已经创建了一个快速的jQuery插件 (function($){ $.fn.newWindow = function(options) { var defaults = { titleText: 'Link opens in a new window'
有可用的jQuery插件吗?我已经创建了一个快速的jQuery插件
(function($){
$.fn.newWindow = function(options) {
var defaults = {
titleText: 'Link opens in a new window'
};
var options = $.extend(defaults, options);
return this.each(function() {
var obj = $(this);
if (options.titleText) {
if (obj.attr('title')) {
var newTitle = obj.attr('title') + ' ('
+ options.titleText + ')';
} else {
var newTitle = options.titleText;
};
obj.attr('title', newTitle);
};
obj.click(function(event) {
event.preventDefault();
var newBlankWindow = window.open(obj.attr('href'), '_blank');
newBlankWindow.focus();
});
});
};
})(jQuery);
示例用法
$('a[rel=external]').newWindow();
您还可以通过传入一些JSON选项来更改或删除标题文本
更改标题文本的示例:
$('a[rel=external]').newWindow( { titleText: 'This is a new window link!' } );
示例一起删除它
$('a[rel=external]').newWindow( { titleText: '' } );
这是我的第一个jQuery插件,所以任何反馈都会非常好。等等,您要验证哪个XHTML版本 “target”属性是有效的XHTML1.0属性。它仅在版本1.1中无效 您的问题可能是您在页面顶部声明了错误的版本吗 更新 嗯,我对你的应用程序了解不多,但是如果你真的需要UI,这取决于前一个窗口没有被替换,那么也许你应该考虑一个模态弹出窗口。
链接实际上意味着你要去别的地方。如果你需要呆在原地,那么为什么不找到另一种方式,比如一个模式窗口,或者一个优雅地向后倾斜的隐藏/显示面板,用于进一步的UI?在我的例子中,所有以http://或ftp://开头的链接都是外部链接:
$('a[href^="http"],a[href^="ftp"],').bind('click', function(event){
open(this.href);
return false;
});
或者根据您的需要更改选择器。您可以使用jquery.url.js 它非常容易使用,如下所示
$.jqURL.loc("URL",{w:800,h:450,t:150,l:180,wintype:'_blank'});
“Valid”or not target=“\u blank”是在新窗口中打开链接的实际方式。它简短易读,每个读过它的人都能立即知道它应该做什么。我认为rel=“external”也比较流行。是有人来解释他们的反对票,还是我们只是在猜测?@Robert-我的想法正是如此。似乎有人决定否决这个问题和每个答案,除了一个。@alex:很酷,我怀疑你是这个意思,但不确定。不幸的是,我被迫做客户/老板想做的事。需要一个新窗口。@alex:哈哈,是的,还是老故事,我完全理解为什么在某些情况下密码不会被散列的原因。老板说:“如果我们可以通过电子邮件向用户发送他们的密码,那不是很方便吗?”这看起来像是我插件的基础+谢谢你给我一个答案!