在Question2Answer中的特定帖子的第n段后面添加javascript

时间:2018-04-12 16:34:29

标签: javascript php adsense question2answer

我在很长一段时间内都在苦苦挣扎,但找不到任何解决方案。我有一个非常长的博客类型的帖子,有很多段落,我在Question2Answer网站上添加了一个问题。我想在第3段之后添加adsense代码,但是如果不修改php代码就没有办法做到这一点。我阅读了Q2A文档,根据我的理解,我需要更改qa_view函数。这是用于在qa-theme.php中显示问题内容的原始代码:

public function q_view_content($q_view)
{
    $content = isset($q_view['content']) ? $q_view['content'] : '';

    $this->output('<div class="qa-q-view-content">');
    $this->output_raw($content);
    $this->output('</div>');
}

但是,我不知道如何在这里添加javascipt代码并将其引用到特定的帖子ID。我正在考虑在特定段落之后添加包装div,但我不知道如何实现这一点,因为我对php非常新。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我不建议这样做,因为当您干扰阅读内容时,它会混淆浏览体验。 我建议你

  • 遵循StackOverflow样式并将AD横幅放在顶部或位于 页面的一面
  • 或者按照Quora风格创建&#39;查看更多&#39;按钮然后放 您的AD因此内容和广告之间存在明显的分离。

如果您坚持使用JS或JQuery查询问题的第三个

子项,请使用insertAfter,例如:

?>
var ADS = document.createElement( 'div' );
ADS.innerHtml = ' ... the Html content of your ADS banner' ;
var question = document.getElementById( 'question-id' );
var paragraphe = question.querySelectorAll('p')[2];  // third 
question.insertBefore( ADS , question.children(2).sibling );
// sibling is used to insert rather after the paragraph
<?php

此代码将根据您的用例进行测试和调整,然后附加到相应的php文件(可能在qa-include / qa-base.php的末尾),但采取必要的预防措施,不会干扰总体布局。