• Resolved boyington

    (@bottapress)


    Hi,

    The ‘theme options’ and ‘settings’ admin pages don’t work because the javascript generated by ?ai1ec_render_js=admin_settings.js&is_backend=true&ver=2.1.5 and ?ai1ec_render_js=less_variables_editing.js&is_backend=true&ver=2.1.5 is broken.

    More precisely, they both end with :

    ,timely.define(“scripts/common_scripts/page_ready”,function(){

    which generates an Uncaught SyntaxError: Unexpected end of input

    Any idea of what could cause this problem ?

    https://www.ads-software.com/plugins/all-in-one-event-calendar/

Viewing 14 replies - 1 through 14 (of 14 total)
  • Nicola Peluchetti

    (@nicolapeluchetti)

    can you paste me the link to the js rendering?Do all other pages work correctly?

    Thread Starter boyington

    (@bottapress)

    Hi Nicola,

    thanks for this quick reply!

    here is one link:

    https://whtest8.neowordpress.fr/?ai1ec_render_js=less_variables_editing.js&is_backend=true&ver=2.1.5

    And no, I just see that the ‘calendar feeds’ page have exactly the same problem.

    Nicola Peluchetti

    (@nicolapeluchetti)

    This is really strange, never had this. It seems like we output too much. Do you have experience coding?This is rendered in method render_js in file app/controller/javascript.php

    We just read static files, it can’t make much errors. Can you ask your hostif they have any idea?

    Thread Starter boyington

    (@bottapress)

    Hi Nicola,

    In fact it seems (even if I don’t know why!) that this is your _echo_javascript() method, called on line 251 in javascript.php, that truncates the 2 last characters of the $javascript variable passed through.

    So I just added two blank spaces to $javascript before calling _echo_javascript($$javascript) and this seems to have solved the problem.

    As you can see here:

    https://whtest8.neowordpress.fr/?ai1ec_render_js=less_variables_editing.js&is_backend=true&ver=2.1.5

    the javascript rendered is not truncated any more.

    Do you know how you can fix it for the next release ?

    Nicola Peluchetti

    (@nicolapeluchetti)

    What did you change exactly?This is really strange, we’ve not heard many users report it. I can’t understand why it should truncate the last two chars ?? ??

    Thread Starter boyington

    (@bottapress)

    I just put:

    $javascript .=’ ‘;// added 2 blank spaces

    before line 251 of javascript.php:

    $this->_echo_javascript( $javascript );

    I don’t understand neither what causes this strange truncation but it has to be in your _echo_javascript() method.

    Nicola Peluchetti

    (@nicolapeluchetti)

    that function does the following

    private function _echo_javascript( $javascript ) {
    		$conditional_get = new HTTP_ConditionalGet( array(
    			'contentHash' => md5( $javascript )
    			)
    		);
    		$conditional_get->sendHeaders();
    		if ( ! $conditional_get->cacheIsValid ) {
    			$http_encoder = new HTTP_Encoder( array(
    				'content' => $javascript,
    				'type' => 'text/javascript'
    			)
    			);
    			$compression_level = null;
    			if ( $this->_registry->get( 'model.settings' )->get( 'disable_gzip_compression' ) ) {
    				// set the compression level to 0 to disable it.
    				$compression_level = 0;
    			}
    			$http_encoder->encode( $compression_level );
    			$http_encoder->sendAll();
    		}
    		Ai1ec_Http_Response_Helper::stop( 0 );
    	}

    as you see we are using HTTP_Encoder library to send js, i really do not know why on your website is failing, we’ve had no other reports of this as far as i know. Keep your solution for now, if site is running fine skip minor 2.1.x upgrades

    Thread Starter boyington

    (@bottapress)

    I understand I am now the only one who reported this issue but they are perhaps some users who had the same trouble and did not take the time to report it.

    So, in so far as it doesn’t disturb users without this problem, if you could just add these 2 blank spaces to $javascript (as I did to fix), it would allow me to remain up to date with the next releases of your plugin on my WP network (which counts now around 10 thousands subsites on it).

    Nicola Peluchetti

    (@nicolapeluchetti)

    ok i merged it, it should be in the next release

    Thread Starter boyington

    (@bottapress)

    great, thanks!

    Boyington,
    Just wanted to thank you for reporting this issue and also for your solution. I had the same problem and I couldn’t figure out why. Thank you!

    @all in the end we pushed a different solution, the error was caused by “Content length” header which was incorrect due to some garbage added by plugins/themes.
    So the content length header was incorrect and this lead to the error…if you can, please test 2.2 beta ??

    Hi I have the same issue but can not get around how to deal with it.

    Should I change the code in the javascript.php in app/controller folder?

    The code in the file from line 250 to 255 is

    $javascript = $require . $require_config . $translation_module .
    			$config . $jquery . $common_js . $ext_js . $page_js . $page_ready;
    		// add to blank spaces to fix issues with js
    		// being truncated onn some installs
    		$javascript .= '  ';
    		$this->_echo_javascript( $javascript );

    Or am I going on about the wrong thing here?

    @cronopl yes that should be the fix. Add some more spaces.

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘javascript broken on events theme options and settings pages’ is closed to new replies.