数组url-回显下一个url


Array urls - echo next url

PHP

$urls = Array('www.1.com.br','www.2.com.br', 'www.3.com.br');

HTML

<iframe src="www.1.com.br" width='100%' height='100%'></iframe>
<button>Next</button>

如何单击下一个按钮只更新url数组序列中的iframe url(而不是更新整个页面(?

我还怀疑它是否是一个在php或javascript 中包含所有url的数组更好

更新

<script>
    jQuery('#someFrame').submit(function(){             
           $.ajax({
            url: 'updateUrl.php',
            type: '???',
            data: ????,
        });     
    })

var currentIndex = 0;
var urls = ['www.1.com.br','www.2.com.br', 'www.3.com.br'];
document.getElementById('someButton').addEventListener('click', function () {
    currentIndex = Math.min(currentIndex + 1, urls.length - 1);
    document.getElementById('someFrame').setAttribute('src', urls[currentIndex]);
});
</script>
<iframe src="www.1.com.br" width='100%' height='100%' id="someFrame"></iframe>
<button id="someButton">Next</button>

什么需要更新页面Url.php,才能在不刷新的情况下刷新页面?

这不能完全用PHP完成,您需要JS才能使其工作。PHP是由Web服务器解释的,所以当它到达浏览器时,浏览器对该PHP一无所知。因此,它不可能像你希望的那样真正具有互动性。

另一方面,JavaScript非常适合这种没有刷新行为的交互。

所以类似的东西

HTML

<iframe src="www.1.com.br" width='100%' height='100%' id="someFrame"></iframe>
<button id="someButton">Next</button>

Javascript

var currentIndex = 0;
var urls = ['www.1.com.br','www.2.com.br', 'www.3.com.br'];
document.getElementById('someButton').addEventListener('click', function () {
    currentIndex = Math.min(currentIndex + 1, urls.length - 1);
    document.getElementById('someFrame').setAttribute('src', urls[currentIndex]);
});

添加到iframe data-current-url="1"data-url1。。。。data-urlN按下next,只需检查当前,如果有属性:data-url(current+1)使用该属性的值并更新data-current-url="(current +1)"

如果没有这样的atribute,那么将数据当前url重置为1,并从data-url1获取url。我们将通过这个解决方案进行循环