我今天看到了一些奇怪的事情.看看与帖子相关的照片(下方).我做了一个输入[type ="text"].它是屏幕图片上的"1".它的css看起来像那样;
table tbody input {
width: 40px;
border: none;
height: 16px;
}
Run Code Online (Sandbox Code Playgroud)
只是一个普通的输入,除此之外没有任何边框.
然后,我看了开发工具,我看到了一些我以前从未见过的东西."#shadow-root"和输入中的div.
我知道,dev-tools会自己添加一些东西来显示原始网页上的提示.但是,我真的好奇为什么它在输入中添加了一个div,实际上如何在webkit引擎上呈现类似的东西.
Chrome开发工具上次有些奇怪,我遇到了一些问题.例如,它将style.css文件加倍并忘记加载另一个文件导致jquery日历的可怕外观(仅在我的浏览器上加载时).
这可能不是一个错误,而是一个功能,但我很想知道更多


我做了一个简单的函数,使所有容器的行为像链接("a"元素).
function allHot(element){
$(element)
.click(
function(){
var href = $(this).find('a').attr('href');
window.location.replace(href);
})
.hover(
function(){
$(this).css({'text-shadow' : '0px 1px 0px #D6D6D6'});
},
function(){
$(this).css({'text-shadow' : 'none'});
}
);
}
Run Code Online (Sandbox Code Playgroud)
功能很棒.用户可以单击容器上的任何位置并正确重定向,而不是单击"更多"按钮.
但是,如果用户在重定向后点击后退按钮,则浏览器会返回两步而不是一步.更奇怪的是,历史看起来还不错.
简单方案以更好地描述:
第1页 - >第2页
Page2 [用户点击"allHot"容器] - > allHot重定向到Page3
Page3 [用户点击浏览器后退按钮] - > Page1
这是我正在努力的网站的主要错误.我真的没有预防它的线索.在Firefox,Chrome和Opera上测试了Bug.
也测试了Opera"没有javascript模式".如果禁用了javascript,则不会发生问题.
提前感谢任何线索或解决方案.
真正的交易问题对我来说,因为我无法解决它.
我写的jQuery脚本应该抓取"粘贴"动作的输入值,并通过ajax将它传递给codeigniter控制器.
它实际上工作正常,但只有我粘贴第二(和更多)时间的值.当我为某些div或其他DOM元素更改("粘贴")到("单击")时,它也可以正常工作.
脚本:
<script type="text/javascript">
$("#link").on("paste", function(){
$("#thumbs").empty().html("<p>loading</p>");
var postData = {
'url' : $("#link").val()
};
$.ajax({
type: "POST",
url: "/thumb/ajax/",
data: postData , //assign the var here
success: function(msg){
$("#thumbs").html( "Data Saved: " + msg );
}
});
Run Code Online (Sandbox Code Playgroud)
});
任何帮助,将不胜感激
编辑:再提示一下.
此特定脚本中的val()实际上在粘贴操作之前获取值.如果我写了一些东西到这个输入,然后删除它并粘贴其他东西,它实际上将传递给控制器我写的值,而不是我粘贴的那个.
编辑2:好的,我很确定粘贴的jQuery问题.
<script type="text/javascript">
$("#link").on("paste", function(){
$("#thumbs").empty().html("<p>loading</p>");
var postData = {'url' : $("#link").val() };
$("#thumbs").html($("#link").val());
});
</script>
Run Code Online (Sandbox Code Playgroud)
此脚本应该从输入到div#thumbs添加值.它不适用于第一个粘贴操作.第二,它确实有效.
编辑3:我的朋友给了我一个提示.on("paste")适用于"粘贴"操作,并且在粘贴实际完成之前.如果有人给我一个提示如何在粘贴之后超时抓取值我可以继续.
我想制作一个目标网页.如果插件检测到一些GET或POST请求,它应该覆盖wordpress主题并显示它自己的主题.
它会以某种方式工作:
if (isset($_GET['action']) && $_GET['action'] == 'myPluginAction'){
/* do something to maintain action */
/* forbid template to display and show plugin's landing page*/
}
Run Code Online (Sandbox Code Playgroud)
我熟悉WP Codex,但我不记得是否有任何功能可以做到这一点.当然,我用谷歌搜索没有结果.
提前感谢任何想法.
我发现了与定位有关的奇怪的Safari行为.
例如:
#parent {
position:fixed;
overflow-x: hidden;
height:30px;
}
#toolTip-child {
position:fixed
display:block;
top:10px;
left:16px;
height:100px;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,当position设置为fixed(或绝对值,在这种情况下无关紧要)时,元素应该从作用域中断开并以某种方式独立呈现.
它就像我在上面提到的用于测试我们开发的网站的每个浏览器一样,除了Safari之外.
在Safari中,如果父元素已fixed定位且overflow-x属性.添加,无论我怎样子元素位置(position:fixed,top,left- >没关系),如果它溢出父元素,它是不可见的.
我撞墙,不知道如何强迫Safari合作.
如果您有任何想法,我们将不胜感激.
将 WP 从 3.3 升级到 3.4 之后 wp_deregister_script('jquery'); 似乎不再起作用(WP 提供的 jQuery 在部分中可见)。
取消注册脚本包含在我的主题的functions.php 文件中,如下所示:
if( !is_admin()){
wp_deregister_script('jquery');
}
Run Code Online (Sandbox Code Playgroud)
升级后我试图自定义它,但实际上没有任何效果。例如,我也尝试使脚本出队,但仍然没有成功。
if( !is_admin()){
wp_deregister_script('jquery');
wp_dequeue_script('jquery');
}
Run Code Online (Sandbox Code Playgroud)
期待您的意见和任何可能的解决方案的想法。