【问题标题】:Joomla 2.5.7 strips away codeJoomla 2.5.7 剥离代码
【发布时间】:2012-12-23 21:03:39
【问题描述】:

我在 Joomla 的一篇文章中使用了 JavaScript,它应该在该页面上每 5 秒自动加载一次图像。最初我无法添加 JavaScript,现在在其他用户的帮助下已解决。

我现在有一个新问题。当 JavaScript 应该刷新图像时,它无法加载图像。我没有收到损坏的路径符号,但也没有显示图像。我附上了我正在使用的代码。

    <script type="text/javascript">// <![CDATA[
     var picPaths = ['C:/wamp/www/joomla1/images/snapshots/cal01.jpeg'];
 var curPic = -1;
 var imgO = new Array();
 for (i = 0; i < picPaths.length; i++) {
    imgO[i] = new Image();
    imgO[i].src = picPaths[i];
 }
 function swapImage() {
    curPic = (++curPic > picPaths.length - 1) ? 0 : curPic;
    imgCont.src = imgO[curPic].src;
    setTimeout(swapImage, 5000);
 }
 window.onload = function() {
    imgCont = document.getElementById('alpana');
    swapImage();
 }
     // ]]></script>

/* 这是一个位置为 akrudi 的模块,我在这样的文章中称它为 */

    {loadposition akurdi}
     <p><img id="alpana" src="" height="250" width="250" />
     </p>

第二个密码

    function refresh() 
   {         
var imgsrc = document.getElementById("pic");
alert("message box"+imgsrc);
  document.images["pic"].src = "images/CB1.jpeg" + "?" + new Date().getTime();
  }
  window.onload=function(){
  setInterval(function(){refresh()}, 5000 ); //set interval onload just one time 
 }

【问题讨论】:

  • 更新 我已经能够使用模块添加 javascript,方法是创建引用特定 div id 的模块并在文章中使用相同 id 的 div。我现在面临的问题是图像加载
  • 图片路径,尝试使用&lt;?php echo JURI::root() . "images/snapshots/cal01.jpeg" ?&gt;
  • @Lodder 在哪里包含图像路径?在
  • 在你的javascript中,像这样:var picPaths = &lt;?php echo JURI::root() . "images/snapshots/cal01.jpeg" ?&gt;;
  • UPDATE javascript 代码在 Joomla 文章内主页中的 Atomic 默认模板中工作。但是,如果我打开 Joomla 文章本身,脚本会停止在文章中加载图像。这有点帮助吗? @Lodder我尝试添加代码,但编辑器验证了html并在给定的行 var picPaths = "图像/快照/cal01.jpeg"";

标签: javascript image refresh joomla2.5


【解决方案1】:

我不知道您之前是如何尝试将 Javascript 添加到 Joomla 文章中的,但请尝试安装 Sourcerer 插件,该插件允许您将自定义 javascript、php 和许多其他语言添加到您的 Joomla 文章中。

更新:

我刚刚测试了将 javascript 添加到模块并将模块嵌入到文章中,以查看 javascript 是否确实有效并且确实有效。 不需要 Sourcerer。您可以简单地将以下代码添加到模块的 default.phpmod_xxx.php 中:

$document = JFactory::getDocument();    
$js = '$(document).ready(function(){ 
          //more javascript in here
       });';
$document->addScriptDeclaration($js);

然后像往常一样嵌入模块,使用{loadposition xxx} 方法

【讨论】:

  • 很抱歉没听懂你的意思。您是说我们不能在特定文章中添加 javascript?请说清楚。我也使用过 Sourcerer 插件。当与 TinyMCE/JCE 一起使用时,它不包括文章中的模块。谢谢
  • @alpana - 要添加 Javascript,您需要使用 Sourcerer(或类似的东西),否则它将不起作用。您在上面的评论中说它不包括 "module" 。您是否尝试在文章中添加 Javascript 或嵌入模块?
  • 一些插件充当模块,其声明需要包含在文章中。我们将脚本写入模块。然后将其加载定位,以便将 javascript 包含到文章中。我在寻找正确的方向吗?请帮助-谢谢
  • 啊,我不知道您正在嵌入已经包含 Javascript 的模块。如果它只是你想添加的 Javascript,那么不要通过模块来做。只需在文章中使用 Sourcerer 即可;)
  • 是否有任何非商业插件可以做到这一点。由于 sourcerer 不允许在免费版本的文章中添加 javascript。我不想在没有先检查的情况下购买 sourcerer。谢谢
【解决方案2】:

由于您已经在使用 JCE,因此您不需要任何模块或插件来完成这项工作。在 JCE > Editor Profiles 中选择您通常使用的配置文件,然后单击 Editor Parameters 选项卡,然后单击 Advanced 选项卡。您应该会看到允许 Javascript 的设置。打开它,它将允许您在 HTML 视图中插入 Javascript。

【讨论】:

    【解决方案3】:

    你为什么不把它变成一个变量呢?看看非常简单的图片库,看看他们是如何做到的。在文章中插入图像和幻灯片放映已经完成了一百万次,您没有理由重新发明,采用现有插件并对其进行修改。

    【讨论】:

    • 我的要求是我需要为每篇文章添加不同的图像,该图像仅与那一篇文章相关联。在网站方面,我想这意味着每个不同的页面都会有一个特定的图像与之相关联。插入图像不是问题。问题是能够在查看特定页面时每 x 秒刷新一次这些图像。所以我需要一个javascript(对于每个图像),只有在查看该特定页面时才会调用它。希望我不会在这里使事情复杂化。Thnx
    • 正是如此,为什么不使用 VSIG 之类的东西,然后如果它不适合您,只需修改它。 bretteleben.de/lang-en/joomla/very-simple-image-gallery.html我最近对它进行了最低限度的更新以在 J3 中工作 github.com/OfficialJoomlaBook/vsig3
    • 我尝试使用 bretteleben.de/lang-en/joomla/very-simple-image-gallery.html 中提供的 javascript。即使是您的示例图片,它也给了我同样的错误。添加到文章时,它不显示图片。只有图像所在的阴影区域?有什么我做错了吗?
    • 我一直在用它,你确定你的图片放对了吗?我认为它不会完全按照您的描述进行,但您可以将其修改为您想要的。最重要的是,我想让你看看他们是如何允许选项等的,如果需要的话,每篇文章中的插件都会非常不同。
    猜你喜欢
    • 2013-01-03
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 2015-01-21
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    相关资源
    最近更新 更多