Page 1 of 1

(opgelost) Content binnen halen van een andere website

Posted: Wed Jun 12, 2013 2:03 pm
by pasmaskas
Beste CMSMS leden,

Ik zit met een dilemma en heb veel dingen geprobeerd alleen niets werkt een aangezien ik een dummy ben in java, jQuery of PHP en heet alleen maar een beetje aan elkaar kan plakken heb ik jullie hulp nodig.

Ik wil content van een andere website laden op een website elders.

Ik heb dit al geprobeerd.

Code: Select all

<!DOCTYPE html>
<__html>
<head>
  <style>
  body{ font-size: 12px; font-family: Arial; }
  </style>
  <__script__ src="http://code.jquery.com/jquery-latest.js"></__script>
  
 <__script__ type="text/javascript">
		$(document).ready(function(){
			$("#content").load("test.html"); 
			
		   	$("#page1").click(function(){
		   	$('#content').load('test2.html');
		     //alert("Thanks for visiting!");
		   	}); 
 
		   	$("#page2").click(function(){
		   	$('#content').load('test3.html');
		     //alert("Thanks for visiting!");
		   	});
		   
		   	$("#page3").click(function(){
		   	$('#content').load('test4.html');
		     //alert("Thanks for visiting!");
			});
		});
</__script>

</head>
</__body>
 
<ul>
	<li><a id="page1" href="#">About</a></li>
	<li><a id="page2" href="#">Community</a></li>
	<li><a id="page3" href="#">Sponsor</a></li>
</ul>
<div id="content" style="clear:both;">
</div>
 



 
<__body>
</__html>

Hiermee kun je content van pagina's binnen halen die op de zelfde server staan maar niet van een andere. Dit werkt perfect natuurlijk.

Nu heb ik het volgende geprobeerd door de "test.html" te vervangen door.

Code: Select all

$("#content").load("http://website.nl/test.html"); 
+ de rest van de code natuurlijk

Alleen dit wijst uit tot niets.

Nu heb ik iets gevonden met een uitleg maar dit lukt ook niet.

http://stackoverflow.com/questions/5059 ... in-my-page

Als ik verder google kom ik steeds om het zelfde uit of iets heel complex dat ik niet snap.

Nu heb ik iets gelezen over een PHP Proxy op de server die dan de content binnen haalt alleen verder informatie niet gevonden over hoe dat werkt.


Weet iemand een oplossing?

Gr Pascal

Re: Content binnen halen van een andere website zonder ifram

Posted: Wed Jun 12, 2013 2:34 pm
by Rolf
Bron "pagina" is http://www.zeijen.nu/feeds/feed-svz-nieuws. Pagina met een lege HTML-template zonder CSS en een module tag in de content.

Deze met http://dev.cmsmadesimple.org/projects/cacheremotefile lezen en bufferen. Dan tonen op http://sportvereniging.zeijen.nu, gebruikt de styling van de website.

grt. Rolf

Re: Content binnen halen van een andere website zonder ifram

Posted: Wed Jun 12, 2013 6:17 pm
by RogierDamen
pasmaskas wrote:Beste CMSMS leden,

Ik zit met een dilemma en heb veel dingen geprobeerd alleen niets werkt een aangezien ik een dummy ben in java, jQuery of PHP en heet alleen maar een beetje aan elkaar kan plakken heb ik jullie hulp nodig.

Ik wil content van een andere website laden op een website elders.
Tenzij de server waar je de data van betrekt ook in je beheer is, is dat onmogelijk zonder het gebruik van een Iframe. Als je beiden servers kan beheren kun je wel een automatisch schalend frame (iframe) gebruiken, daar zijn oplossingen voor als bijvoorbeeld easyxdm.

Rolf's oplossing betreft volgens mij domein / sub-domein en dat gaat nog omdat het dezelfde server is.

Re: Content binnen halen van een andere website zonder ifram

Posted: Thu Jun 13, 2013 6:52 am
by pasmaskas
Hmm oke ja het gaat eigelijk om een html5 android app. De layout zit gewoon in de app alleen de nieuws content of andere content moet hij dan kaal zonder css opmaak ophalen en in de app word de boel gewoon netjes gestijled. Nu draait de app online en dat werkt prima alleen het zou beter zijn als het meer op de android telefoon draait en de content alleen word binnen gehaalt zal mar zeggen. De jQuery oplossing met dat .load kwam bij mij binnen als een oplossing en als de kale bestanden in de zelfde map staan of van de zelfde server kopem werkt alles prima maar dit wil ik juist niet. Ik wil de app compileren in een apk bestand dat werkt gewoon goed en lekker vlot omdat niets van internet komt en de content moet gewoon opgehaalt worden en als er geen verbinding is een melding met b.v Geen internet verbinding probeer het later opnieuw ofzoiets.

Mischien wertk de manier van rolf wel. Ik heb de plugin geupload en er is ene kalle template waar de content die ik nodig heb bij staat:

Code: Select all

http://pmkmedia.nl/stephanie/appload
Het zijn allemala linkjes achterelkaar die in de "app" netjes door de css dan onder elkaar komt te staan.

Nu vraag ik mij af hoe nu verder?

hoe moet ik de plugin aan de pagina hangen en dan in de app wat regels toevoegegen?

Re: Content binnen halen van een andere website zonder ifram

Posted: Thu Jun 13, 2013 7:54 am
by pasmaskas
Updateje.

Ik heb wat gevonden op internet via een php proxy en dat werkt ook als de website op een andere server staat.

proxy.php in de zelfde map als alls de html bestanden

Code: Select all

<?php echo file_get_contents($_GET['url']);?>
Jquery code naar het proxy.php bestand met de juiste url en je ziet de content van een andere website.

Code: Select all

<__script__>
        $(document).ready(function() {
           $("#list").load("proxy.php?url=http://pmkmedia.nl/stephanie/appload"); 
        });  
 	</__script>
MAAR! Android ondersteunt geen php dus de content word alsnog niet ingeladen. Ik bewaar het wel voor andere projecten is best handig.

Re: Content binnen halen van een andere website zonder ifram

Posted: Thu Jun 13, 2013 8:14 am
by Rolf
De cache_remote_file tag werkt ook met verschillende domeinen hoor! Bijvoorbeeld de laatst CMSMS Core versie op http://www.cmsms.nl/ worden gelezen uit http://www.cmsmadesimple.org/latest_version.php

De basis van de tag *is* file_get_contents(), maar de inhoud wordt gebufferd waardoor deze veel betrouwbaarder is!

Re: Content binnen halen van een andere website zonder ifram

Posted: Thu Jun 13, 2013 10:21 am
by pasmaskas
Ik heb de oplossing gevonden!

met als nog https://github.com/padolsey/jQuery-Plug ... ainajax.js als basis.

Download jquery.xdomainajax.js en sla hem op bij ej andere *.js bestanden
Download ook de laatste jquery js of link er naar toe.

De code ziet er als volgt uit.

Code: Select all

<__script__ src="http://code.jquery.com/jquery-latest.js"></__script>
<__script__ src="js/jquery.xdomainajax.js" type="text/javascript"></__script>
    
<__script__ type="text/javascript">
         $.ajax({
               url: 'http://pmkmedia.nl/stephanie/appload',
               type: 'GET',
               success: function(data) {
                        $('#list').append($(data.responseText));
               }
         });
</__script>
Nu haalt hij de kale html data van http://pmkmedia.nl/stephanie/appload op en plaatst hem in de dit met de #list id.

Dus: Kaal slabloon met alleen {content} koppelen aan een pagina die niet in het menu zichtbaar is met de {news} smarty er in en het werkt op android!

Gr Pascal

Re: Content binnen halen van een andere website zonder ifram

Posted: Thu Jun 13, 2013 11:53 am
by pasmaskas
heeft iemand een idee hoe ik deze code:

Code: Select all

         
$.ajax({
        url: 'http://pmkmedia.nl/stephanie/appload',
        type: 'GET',
        success: function(data) {
               $('#list').append($(data.responseText));
        }
});
kan samen voegen met een java schript met het bericht "Geen verbinding probeer het opnieuw".

Ik wil namelijk mocht er geen verbinding zijn en het laden van de content lukt niet dat hij dan een melding geeft dat er geen verbinding is.

Re: Content binnen halen van een andere website zonder ifram

Posted: Thu Jun 13, 2013 12:09 pm
by pasmaskas
Laat maar al gevonden:

Code: Select all

	$.ajax({
		url: 'http://pmkmedia.nl/stephanie/apploadelse',
        type: 'GET',
		success: function(data) {
			$('#list').append($(data.responseText));
		},
  		error: function(data) {
    		alert('Geen verbinding, probeer later opnieuw');
  		}
	});

Re: (opgelost) Content binnen halen van een andere website

Posted: Fri Jun 14, 2013 6:53 am
by pasmaskas
Ik heb mijn status op opgelost gezet omdat ik denk dat voor een app dit de beste oplossing is omdat het "offline draait" en niet op een server met php. Kan alleen gebruik maken van HTML, CSS en Javascripts.

De manier van rolf met deze plugin http://dev.cmsmadesimple.org/projects/cacheremotefile ga ik in mijn achterhoofd houden voor toekomstige websites die nieuws willen van een andere website. Alleen weet ik nog niet hoe het werkt maar dat komt dan wel.

Als nog bedankt!