I'm not sure how this is Chrome specific, but it is. This is working on every other browser, including all IE* browsers etc. In fact, there's no code here that's client specific. All of this is being generated on the server. Yet after clearing Chrome's cache a million times and restarting it... the following doesn't work:
<script type="text/javascript">
// BEGIN PARAMETERS
<?php
if (isset($someid) && $someid == 'foo') {
echo "var somevar = 'foo';\n";
} else {
echo "var somevar = '#';\n";
}
?>
var invisible = '#';
var text_counter = '#';
// END PARAMETERS
</script>
On every single browser that's coming from $someid == 'foo', the var shows up properly, it comes up after viewing source as var somevar = 'foo'; Chrome consistently just shows var somevar='#';... not sure why.
I also threw this into the page that the javascript is being embedded on:
<?php
echo "someid: {$someid}\n";
?>
and that verifies that $someid is indeed foo. yet the second else block hits, only on chrome.
UPDATE: I notice that when I right click on Chrome and hit 'Inspect Element', the CORRECT var somevar value is there. It's only in View Source that it's not set correctly. That's really odd, considering that's normal behavior if you modify the DOM after the initial HTTP GET, which isn't the case here. There isn't any XHR or funky DHTML happening. Just an HTTP GET, and the code above is processed upon that GET request.