更新:Bug已解决。答案点可以解释为什么修复有效。
如果您突出显示并复制此页面第一段中的文本,然后将其粘贴到富文本编辑器(Dreamweaver或富文本格式的gmail)中,您将看到某些文本是自动链接的。基本上,它有效:
http://seox.org/link-building-pro.html - > http://seox.org/lbp/old-pretty.js
我正在尝试构建第二个版本,但在某个地方我打破了它。如果您在此新网址上执行相同的处理,则会在Chrome中删除链接之前和之后的间距:
http://seox.org/test.html - > http://seox.org/lbp/lb-core.js
为什么间距在第一个中正常工作,而在第二个中不能正常工作?更重要的是,我如何修复第二个,以免它出错?
之前我问过这个问题的变体,得到了一个有用而有趣的答案,但希望这次我已经详细询问了这个问题。上一个问题,我有一个很难理解的答案,位于这里: Javascript: Whitespace Characters being Removed in Chrome (but not Firefox)
提前感谢您的时间!
编辑:我在这篇文章中添加了一笔赏金,非常感谢如何修复错误的精确说明(而不是一般性的建议。
为了更好地说明这个错误,我复制了下面的灰色框(从第二页开始)。请注意如何在标记之前和之后删除间距:
Link Building 2 is an amazing tool that helps your website visitors share your content, with proper attribution. It connects to email, social sharing sites, eCommerce sites, and is the<a href="http://seox.org/test.html#seo">SEO</a>'s best friend. Think of it as the sneeze in the viral marketing metaphor.
<div>
<p id="credit"><br />
Read more about<a href="http://seox.org/test.html">Text Citations</a>by<a href="http://seox.org">seox.org</a></p>
</div>
第二次更新:
我能够通过在函数processSel()的顶部添加以下内容来解决错误:
lbp.vrs.holder.style.position = "absolute";
我会给那些能够最好地解释为什么修复chrome中的间距问题的人给出正确的答案。
答案 0 :(得分:1)
第30行有拼写错误。
... by <a href='http://" + lbp.page.domain + "' />" + lbp.defaults.author ...
^ (extra "/" before ">")
答案 1 :(得分:0)
在lb-core.js文件的第30行。试试这个:
lbp.defaults.credit = "<p id='credit'><br/>Read more about <a href='" + lbp.page.url + "'>" + lbp.page.randKeyword + " </a> by <a href='http://" + lbp.page.domain + "' /> " + lbp.defaults.author + " </a></p>";
编辑:我无法解释为什么Chrome会这样对待它,但是如果您问的是position:absolute;
做了什么,它会从块的布局中删除该元素。页面,以便元素不占用页面上的任何“空格”。然后使用您指定的坐标对其进行定位,以查看页面实际放置的位置。为什么那会影响你所看到的我真的不能说。我想你现在可能正在处理浏览器中的错误?也许带有lbp.vrs.holderHider.style.left = "-9999px";
的东西可能由于某种原因而导致负边距是一个问题,除非使用position:absolute
答案 2 :(得分:0)
lbp.vrs.holder.style.position = "absolute";
将上面的内容添加到processSel()函数的顶部修复了Chrome的奇怪间距问题。似乎设置一个位置会触发某种“我在页面上”的意识(或某些东西)。但得到这个,“亲戚”不起作用!
现在我们已经有了解决方案......有没有人想尝试解释它为什么会这样运作?
答案 3 :(得分:0)